gpt4 book ai didi

java - 如何同时对多个函数进行junit测试

转载 作者:行者123 更新时间:2023-11-29 05:05:36 28 4
gpt4 key购买 nike

我正在为一个 Java 应用程序编写 Junit 测试用例。如果我单独运行测试功能,它运行良好。当我尝试同时运行它们时,运行不正常

这是JUnit代码

 public class CultureMachineTestCases{

CultureMachineAssignment testObj=new CultureMachineAssignment ();
HashSet<String> result =new HashSet<String>();
String answer,answer1;
int flagVal;
@Before
public void init() throws IOException{
testObj.insertDataIntoSet();
testObj.addKeywords("video1");
}

@Test
public void testVideo() throws IOException {
result=testObj.search("abcd");
answer=result.toString();
answer1=answer.replaceAll("[^a-z0-9]","");

assertEquals("video1", answer1);

}
@Before
public void initMethod() throws IOException{
testObj.insertDataIntoSet();
testObj.addKeywords("video2");
}
@Test
public void testLenth() throws IOException{
flagVal=testObj.flag;

assertEquals(1, flagVal);
}
}

此处标志在 CultureMachineAssignment 文件中设置为 1。谁能告诉我我需要做什么才能一起运行测试文件中的所有函数

最佳答案

@Before 注释方法 (init()) 在每个测试方法之前调用。您应该只有一种方法用 @Before 注释,以免混淆。

您在 init() 中实现的代码应移至 testVideo(),而 initMethod() 中的代码应移至 testLength()。

并且您的 init 方法应该如下所示,以确保所有测试的测试类状态都相同:

@Before
public void init(){
answer = null;
answer1 = null;
flagVal = -1;
result = new HashSet<String>();
}

关于java - 如何同时对多个函数进行junit测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30481813/

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