-2

我正在使用 TestNG 在 java 中进行单元测试(由其他学生编写的代码)。问题是我无法在代码中模拟对象,因为每个函数都采用 ArrayList 的 ArrayList(arrayList 下的值是 ArrayList 的对象)。请向我推荐任何用于模拟的工具或任何好的方法,我尝试了 easyMock 和其他人,但遇到了同样的问题。

4

1 回答 1

1

您正在测试的代码的设计似乎非常可疑,但这不应阻止您对其进行测试。仅仅因为您正在编写测试并不意味着您需要模拟所有内容。您可以预先创建需要传入的对象,然后将其提供给您正在测试的方法:

@Test
public void testStuff() {
    List outerList = new ArrayList();
    List innerList = new ArrayList();
    innerList.add("something");
    outerList.add(innerList);
    someObject.crazyMethod(outerList);
}

需要有某种文档,你的同学解释如何调用他的代码,这样你就可以知道要传递什么。如果他坚持让他的对象被调用的方式是疯狂的,那不应该是你的错。

我有另一个问题的答案,该问题涉及何时模拟,何时不在这里

于 2013-04-02T17:19:29.367 回答