我有一个logon
方法,该方法调用addUser
,同一类中的另一个方法。
我们让HS学生编写各种方法,并希望他们能够独立测试每种方法。我们有一个JAR文件,其中没有完整编码的所有方法(PROD类)的源代码,并且学生在DEV类中使用相同的方法。
是否可以将addUser
的DEV副本与PROD方法一起使用,以测试应用程序是否可以实现其addUser
的实现?
答案 0 :(得分:0)
您可以尝试子类化,尽管它依赖于PROD类友好(允许覆盖其方法)。
class DEV extends PROD {
@Override
int addUser(String name) {
... students work and test this one implementation
}
public static void main(String[] args) {
... do my testing thing here, like for instance
System.out.println("This is the expected result using PROD:");
PROD prod = new PROD();
int result = prod.logon(); // internally calls PROD.logon() and PROD.addUser()
System.out.println(result);
System.out.println("This is the test result using DEV:");
DEV dev = new DEV();
result = dev.logon(); // internally calls PROD.logon() and DEV.addUser()
System.out.println(result);
}
}
这将如下工作:
要编译:{{1}}
要测试:javac -classpath PROD.jar DEV.java