gpt4 book ai didi

java - Ploeh 的 AutoFixture for .Net 是否有 Java 替代品?

转载 作者:IT老高 更新时间:2023-10-28 21:01:13 25 4
gpt4 key购买 nike

我正在寻找可以创建 anonymous variables 的 Java 工具。 (我不关心的变量)在我的测试中,类似于 .Net 中的 AutoFixture。这是 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
}

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());
}
}

}

该工具似乎只适用于接口(interface)。如果我将 Test 更改为类并将方法更改为字段,则生成器会引发仅支持接口(interface)的异常。

我真诚地希望有更好的东西,特别是因为文档严重缺乏。

最佳答案

还有 JFixture,可在 github 上获得并发布到 maven central .

这仍在积极开发中,并且正在满足功能请求。

关于java - Ploeh 的 AutoFixture for .Net 是否有 Java 替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11367349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com