Java JUnit测试

Par*_*dox 0 java testing junit

Chris编写了一个名为toBinary的函数,它具有一个整数的输入参数,并返回一个表示二进制等价的字符串.例如,如果使用整数3调用函数,则返回的字符串应为"11".

用英语写一系列测试规范,可能使用"给定","何时"和"然后"序列及其等效的JUnit代码.

我的回答是:

测试应涵盖正常情况,极端情况和错误情况.给定一个例如3的整数,它应该在执行该方法后将其转换为11.

@Test
public void testToBinary() {
Binary aBinary = new Binary();
assertEquals(3, 11);
assertEquals(2, 10);
assertFail(10, 8575);
}
Run Code Online (Sandbox Code Playgroud)

它是否正确?

Kal*_*see 6

这些断言没有意义 - 当然,3!= 11.您需要将转换方法应用于输入并验证输出是否是预期的:

assertEquals("11", aBinary.someConvertMethod(3));
Run Code Online (Sandbox Code Playgroud)

期望值必须是第一个参数,实际值是第二个参数.

此外,assertFail不是一个真正的方法.有assertNotEquals,这可能就是你要找的东西.


Ste*_*vel 5

在您的代码示例中,当您编写'assertEquals(3,11);'时 你断言3等于11(十进制),这将永远是假的.

你不需要像这样的东西吗?

assertEquals("11", toBinary(3));
Run Code Online (Sandbox Code Playgroud)

在给定输入为3的情况下,哪个测试函数返回字符串"11".