私のテストでは、anonymous variables(値がわからない変数)を作成するJavaツールを探していますが、これは.NetのAutoFixtureと似ています。ここにはAutoFixture's readmeへのリンクがありますが、それはそれが何をするかのかなり良い例を持っています。ここで PloehのAutoFixture for .NETに代わるJavaがありますか?
が短い例では、同じ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
}
は、Javaの世界では、このようなツールはありますか?
編集:
私は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());
}
}
}
ツールは、インタフェースでのみ動作するようです。 Testをクラスに変更し、メソッドをフィールドに変更すると、ジェネレータはインターフェイスのみがサポートされているという例外をスローします。
私は真剣にドキュメントが真剣に欠けているので、何か良いことがあることを願っています。
私は本当に私の正確な質問を見つけるとき、私はいつも大きな笑顔を持っています。 (私はコメントが多くの価値を追加しないことを知っている...) –