इस मुद्दे के बारे में अन्य सवाल कर रहे हैं, लेकिन मैं कैसे इस तरह इकाई परीक्षण कुछ दृष्टिकोण लगाने की कोशिश कर रहा हूँ:कैसे इकाई परीक्षण लिखने के लिए कि संगामिति अपरिवर्तनशीलताओं परीक्षण
public class Semaphore extends Lock {
private AtomicInteger semaphore = new AtomicInteger(0);
public synchronized boolean available() {
return semaphore.intValue() == 0;
}
public synchronized void acquire() {
semaphore.incrementAndGet();
}
public synchronized void release() {
semaphore.decrementAndGet();
}
}
यह मेरा पहनें ताला तंत्र (है सिर्फ सीखने के उद्देश्यों के लिए)। मैं इस धागे की सुरक्षा का परीक्षण कैसे करूं? मुझे पता है कि यूनिट परीक्षण समवर्ती कोड की बात होने पर कोई गारंटी नहीं है, लेकिन मैं इस यूनिट परीक्षण को लिखने के बारे में भी कहूंगा कि ATTEMPTS इस लॉकिंग तंत्र में निहित स्पष्ट आविष्कारों का परीक्षण करने के लिए कैसे?
क्या स्थिर विश्लेषण प्रश्न से बाहर है? – UmNyobe
नहीं, पूरी तरह से सवाल से बाहर नहीं। लेकिन मैं और सोच रहा हूं कि एक यूनिट टेस्ट इस तरह की चीज़ के लिए कैसा दिखता है ... फिर से, यह स्वीकार करते हुए कि समेकन की बात होने पर यूनिट परीक्षणों की कोई भी राशि गारंटी नहीं देती है। – LuxuryMode
आम तौर पर, आप विभिन्न चालें नियोजित करते हैं - थ्रेडों का एक गुच्छा यादृच्छिक रूप से प्रेषित किया जाता है, एक थ्रेड में लॉक जारी करते हैं जबकि दो अन्य धागे इस पर कताई कर रहे हैं, आदि। यह एक कला है। –