Junit 阳性和阴性测试

Ton*_*ins 1 java junit unit-testing

我有一项作业,需要为我的代码创建一些测试。我们必须使用 Junit 测试,因此我决定对我的方法进行正面和负面测试。

例如,从 ArrayList 获取名称的一项测试我有正面和负面测试:

积极:

public void testGetNamePositive() { 
    Entry entry1 = new Entry("Susan Holmes", "122 Harringdale", "Workington", "CA14 2GH"); 
    assertEquals("Susan Holmes",entry1.getName()); 
} 
Run Code Online (Sandbox Code Playgroud)

消极的:

public void testGetNameNegative() { 
    Entry entry1 = new Entry("Susan Holmes", "122 Harringdale", "Workington", "CA14 2GH"); 
    assertFalse( entry1.getName() == "Alison"); 
} 
Run Code Online (Sandbox Code Playgroud)

我不确定的测试是这样的:

public void testEntryCreated() {
    Entry entry1 = new Entry("Susan Holmes", "122 Harringdale", "Workington", "CA14 2GH");
    assertNotNull(entry1);
}
Run Code Online (Sandbox Code Playgroud)

这有负面测试吗?

Evg*_*eev 5

入口类公共构造函数应该有一些参数验证,例如名称不能为空。所以你可以写一个像这样的负面测试

@Test(expected = NullPointerException.class)
public void testCreateEntryWithNameIsNullThrowsNPE() {
    Entry entry1 = new Entry(null, "122 Harringdale", "Workington",
            "CA14 2GH");
}
Run Code Online (Sandbox Code Playgroud)

请注意,我使用的是 JUnit 4