मैं एक जावा उपकरण की तलाश में हूं जो anonymous variables (वेरिएबल जिनके मूल्य की परवाह नहीं है) मेरे परीक्षणों में, .NET में ऑटोफिक्चर के समान होगा। यहां AutoFixture's readme का एक लिंक है, जिसमें यह बहुत अच्छा उदाहरण है जो यह करता है।क्या नेट के लिए प्लॉह ऑटोफिक्चर के लिए जावा विकल्प है?
यहाँ एक छोटी उदाहरण ही रीडमी से लिया जाता है:
[TestMethod]
public void IntroductoryTest()
{
// Fixture setup
Fixture fixture = new Fixture();
int expectedNumber = fixture.CreateAnonymous<int>();
MyClass sut = fixture.CreateAnonymous<MyClass>();
// Exercise system
int result = sut.Echo(expectedNumber);
// Verify outcome
Assert.AreEqual<int>(expectedNumber, result, "Echo");
// Teardown
}
वहाँ जावा दुनिया में इस तरह के एक उपकरण है?
संपादित करें:
मैं QuickCheck की कोशिश की और जब यह मैं के लिए क्या देख रहा था की तरह कुछ करने में कामयाब रहे:
import net.java.quickcheck.Generator;
import net.java.quickcheck.generator.PrimitiveGenerators;
import net.java.quickcheck.generator.support.ObjectGeneratorImpl;
public class Main {
interface Test{
String getTestValue();
}
public static void main(String[] args) {
Generator<String> stringGen = PrimitiveGenerators.strings(5, 100);
Generator<Integer> intGen = PrimitiveGenerators.integers(5, 20);
ObjectGeneratorImpl<Test> g = new ObjectGeneratorImpl<>(Test.class);
g.on(g.getRecorder().getTestValue()).returns(stringGen);
for (int i = 0; i < intGen.next(); i++) {
System.out.println("value of testValue is: " + g.next().getTestValue());
}
}
}
उपकरण इंटरफेस के साथ ही काम करने लगता है। यदि मैं टेस्ट को एक वर्ग और फ़ील्ड के तरीके के रूप में बदलता हूं, तो जनरेटर एक अपवाद फेंकता है कि केवल इंटरफेस समर्थित हैं।
मैं ईमानदारी से आशा करता हूं कि कुछ बेहतर है, खासकर जब दस्तावेज़ में गंभीरता से कमी है।
मुझे एसओ पर मेरा सटीक प्रश्न मिलने पर हमेशा एक बड़ी मुस्कुराहट होती है। (मुझे पता है कि टिप्पणी ज्यादा मूल्य नहीं जोड़ती है ...) –