gpt4 book ai didi

java - JUnit 设置测试用例

转载 作者:行者123 更新时间:2023-12-01 13:13:01 25 4
gpt4 key购买 nike

我以前从未使用过 JUnit,并且在设置测试时遇到一些问题。我有一个 Java 项目和一个包,都名为“Project1”,其中有一个我试图测试的类,名为“Module”。目前我只是想检查这些值是否正确。

模块类

package Project1;
//This class represents a module
public class Module {

public final static int MSC_MODULE_PASS_MARK = 50;
public final static int UG_MODULE_PASS_MARK = 40;
public final static int MSC_MODULE_LEVEL = 7;
public final static int STAGE_3_MODULE_LEVEL = 6;

private String moduleCode;
private String moduleTitle;
private int sem1Credits;
private int sem2Credits;
private int sem3Credits;
private int moduleLevel;


public Module(String code, String title, int sem1, int sem2, int sem3, int level)
{

moduleCode = code;
moduleTitle = title;
sem1Credits = sem1;
sem2Credits = sem2;
sem3Credits = sem3;
moduleLevel = level;

}

//method to return the module code
public String getCode()
{

return moduleCode;

}
//INSERT A BUNCH OF GET METHODS

}

测试用例

这就是我迷路的地方。我试图提供一些虚拟值来测试,但我不确定如何传递 Module 实例来测试。

package Project1;

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;


public class TestCase {
@BeforeClass
public static void setUpBeforeClass() throws Exception {


}

@Before
public void setUp() throws Exception {
Module csc8001 = new Module("CSC8001", "Programming and data structures", 20, 0, 0, 7);

}
@Test
public void test() {
if (csc8001.getCode() == "CSC8001") {
System.out.println("Correct");
}
else{
fail("Not yet implemented");
}
}

}

最佳答案

使您的 Module 变量成为测试类中的实例变量,而不是方法中的局部变量。然后@Before方法将只初始化变量,而不声明它。那么它将在任何 @Test 方法的范围内。

顺便说一下,compare your string contents with String's equals method, not == .

关于java - JUnit 设置测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22695408/

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