我目前正在开发一个系统,希望能用于比较两个单独但同名的类的结果。通过比较这两个类,我希望能够确定在给定相同输入参数的情况下,第一类方法的输出是否与第二类方法的输出相同。
我将如何动态地在两个独立的类上运行相同的测试类?
伪代码示例:
如果我有一个简单的测试类......
class TestClass{
public int TestMethod(int num){
int num2;
TestedClass t = new TestedClass();
num2 = t.add(num);
}
以及需要测试的两个相同的类...
class TestedClass{
public int add(int num){
num = num + 2;
return num;
}
和
class TestedClass{
public int add(int num){
num = num + 4;
return num;
}
我将如何针对两个不同的 TestedClass 运行 TestClass,然后将测试结果保存在某种形式的集合中。
如您所见,两个 TestedClass 的名称相同,返回类型相同,只是功能略有不同。我也无权更改 TestedClass,但是我可以控制它们在程序、包等中的位置。
提前致谢。
编辑:
似乎很巧妙地漏掉了一条很重要的信息:
我也无权编辑TestClass,尽管如上所述,我会知道类/方法名称并控制它们的位置。这个想法是构建一些可以动态测试给定输入副本和正确输出(TestClass 和另一个 TestedClass)的类的东西。
为混乱道歉。
编辑2: 我可以访问测试,即。我可以运行它们,但我无法编辑它们,例如建议的一些答案。