我正在尋找一個Java工具,它會在我的測試中創建anonymous variables(我不關心的值),類似於.Net中的AutoFixture。這裏是AutoFixture's readme的鏈接,它有很好的例子。有沒有Java替代Ploeh的AutoFixture for .Net?
下面是來自同一自述採取了簡單的例子:
[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世界中這樣的工具?
編輯:
我想快速檢查,雖然它成功地這樣做什麼,我一直在尋找:
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更改爲類並將方法更改爲字段,則生成器將引發一個僅支持接口的異常。
我真誠地希望有更好的東西,特別是因爲文檔嚴重缺乏。
當我在SO上找到我確切的問題時,我總是有一個燦爛的笑容。 (我知道評論沒有增加太多的價值...) – 2015-12-19 12:31:13