gpt4 book ai didi

java - 在Java中注入(inject)类字段

转载 作者:行者123 更新时间:2023-12-02 00:46:30 24 4
gpt4 key购买 nike

大家好我有一个软件,我想运行多次不同的时间,每次都针对在类的构造函数中设置的类字段的特定值。
例如,代码中的某处类似于

public class Stuff
{
private double importantVal;
public Stuff(double val)
{
this.importantval = val;
}
public double doStuff()
{
return 4 * importantVal;
}
}

这个类和方法在程序/调用堆栈中非常靠下,所以我不能仅仅单独调用 doStuff 几次。
我想测试程序的 importantVal 的各种值,也许可以将它们放在文件中并迭代它们。我多次计算出运行程序的简单部分,但我不知道如何替换 importantVal 的不同值。如果一切都失败了,我总是可以编写一个修改源代码的脚本,但这感觉很丑陋而且是临时的。是否有更优雅的解决方案涉及注入(inject),或者类似的东西?

最佳答案

为了说明人们在这里试图告诉您的内容,测试用例如下所示:-

public class StuffTest {

@Test
public void testDoStuff_Zero(){
Stuff stuff = new Stuff(0);
assertEquals(0, stuff.doStuff());
}

@Test
public void testDoStuff_One(){
Stuff stuff = new Stuff(1);
assertEquals(4, stuff.doStuff());
}

@Test
public void testDoStuff_NegativeValue(){
Stuff stuff = new Stuff(-10);
assertEquals(-40, stuff.doStuff());
}

@Test
public void testDoStuff_PositiveValue(){
Stuff stuff = new Stuff(10);
assertEquals(40, stuff.doStuff());
}

@Test
public void testDoStuff_DecimalValue(){
Stuff stuff = new Stuff(1.1);
assertEquals(4.4, stuff.doStuff());
}
}

关于java - 在Java中注入(inject)类字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4881911/

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