2014-12-03 69 views
0

这是我的方法:assertSame Junit的测试

public static String passCheck(String x){ 
    return x; 
} 

这里是我的测试吧:

Test 
public void pass(){ 
    Testcases testcases = new Testcases(); 
    String y = "mypassword123"; 
    assertSame(y, testcases.passCheck(x)); 

} 

为什么有无法找到一个错误,说变量x?

+0

哪里是你的 “X” 变量声明? – realUser404 2014-12-03 22:52:23

+0

你不是想写'assertSame(y,testcases.passCheck(y));'? – 2014-12-03 22:52:36

回答

2

怎么会有错误说变量x找不到?

因为xpass声明 - 这是passCheck声明。这不在您的测试方法范围内。这与JUnit无关 - 它只是普通的Java。

你想:

assertSame(y, testcases.passCheck(y)); 
+0

难道这只是比较y本身?我希望确保x和y是一样的。 – 2014-12-03 22:55:34

+1

@AdamHorrigan:不,它会将'y'与调用'passCheck'方法的结果进行比较,其中传递给方法的参数是'y'的值。为什么不尝试呢?改变'passCheck'返回别的东西,你会发现它失败了......不清楚你为什么期望你的原始代码能够被编译......把JUnit留在一边,你对Java有多少经验?尽管我很早就开始进行单元测试,但首先了解Java的基础知识会有所帮助。 – 2014-12-03 22:57:19