第一次使用JUnit,到目前为止一直很好。在测试中,我期望一个数字为128.我在代码中将其指定为:
assertEquals(myclass.myVar(), 228);
但是我从JUnit那里得到了一个奇怪的错误:
expected:<418> but was:<228>
junit.framework.AssertionFailedError: expected:<418> but was:<228>
所以程序给了我正确的输出。我没有JUnit检查过,只是为了确保。但是测试失败了。任何人都可以了解它从哪里获得418号码?我根本没有在Junit测试文件中的任何地方指定它。
TIA
答案 0 :(得分:3)
你的论点是错误的。它应该是:
assertEquals(expectedValue, actualValue);
所以你的测试应该是:
assertEquals(228, myclass.myVar());
此时你会收到更合理的信息 - 然后你需要找出myVar()
实际返回的原因418:)
答案 1 :(得分:3)
在assertEquals
中,第一个参数应该是预期值,第二个参数是测试值。所以你应该写:
assertEquals(228, myclass.myVar());
输出将是:
expected:<228> but was:<418>
注意:如果你来自使用相反惯例的testNG,可能会感到惊讶。
答案 2 :(得分:2)
除了提供的答案指出您的值是向后的,您可以考虑使用更新的JUnit表示法:
assertThat(myclass.myvar(), is(228));
将参数放在更自然的顺序中,读起来更流畅。