我正在使用JUNIT在名为(TriangleClassifier.java)的三角形项目上生成一个测试套件,我试着读取下面的方法来测试a,b,c边和基于期望的输出在这些值上,然后将其应用于JUNIT,但不接受我的测试代码并产生以下错误。有什么建议么?感谢Java JUNIT ERROR
JUNIT错误
expected: java.lang.String<ISOSCELES> but was: TriangleClassifier$TriangleType<ISOSCELES>
junit.framework.AssertionFailedError
at TestSuite.test1(TestSuite.java:9)
方法试图测试
public static TriangleType classify (int a, int b, int c) {
if (isInRange(a) & isInRange(b) & isInRange(c)) {
if (isTriangle(a, b, c)) {
if (a == b & b == c) {
return TriangleType.EQUILITERAL;
} else if (a !=b & a != c & b != c) {
return TriangleType.SCALENE;
} else {
return TriangleType.ISOSCELES;
}
} else {
return TriangleType.NOT_A_TRIANGLE;
}
} else {
return TriangleType.OUT_OF_RANGE;
}
}
TestSuite.java
import static org.junit.Assert.*;
import org.junit.Test;
public class TestSuite {
@Test
public void test1() {
assertEquals("ISOSCELES", TriangleClassifier.classify(100, 100, 1));
}
}
UPDATE
已尝试过更改 assertEquals(“ISOSCELES”,TriangleClassifier.classify(100,100,1)); 至 assertEquals(TriangleType.ISOCELES,TriangleClassifier.classify(100,100,1));
虽然我现在JUNIT产生一个新的错误 - 不可编译的源代码 - 错误的树类型: 了java.lang.RuntimeException 在TestSuite.test1(TestSuite.java:9)
和
TriangleType在下面的行中出现错误,找不到符号 - assertEquals(TriangleType.ISOCELES,TriangleClassifier.classify(100,100,1));
你仔细阅读错误消息?你不了解什么部分? –
那么我已经尝试了一些变化。通过应用这个assertEquals(TriangleType.ISOCELES,TriangleClassifier.classify(100,100,1)); – AP010AP
COMMENT CONT - 我JUNIT会产生一个新的错误 - 不可编译的源代码 - 错误的树类型: 了java.lang.RuntimeException \t在TestSuite.test1(TestSuite.java:9) –
AP010AP