【问题标题】:JAVA- unit testing [closed]JAVA-单元测试
【发布时间】:2013-04-02 17:12:46
【问题描述】:

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

【问题讨论】:

  • 为什么这会阻止你嘲笑?或许您可以提供一个示例来说明您的问题?
  • 虽然这是一种设计味道,但我不明白它会阻止您嘲笑该方法。向我们展示要测试的代码、您尝试过的代码以及您遇到的错误。
  • 我没有收到任何错误.......大量输入变量并且无法找到所有变量..
  • 您想从我们这里得到什么?您的代码有不清楚的问题,很难理解问题,我们看不到您的任何代码行。这个问题无法回答。

标签: junit


【解决方案1】:

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

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

需要有某种文档,您的同学在其中解释如何调用他的代码,以便您知道将什么传递给它。如果他坚持让他的对象被调用的方式是疯狂的,那不应该是你的错。

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

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 2015-04-25
    相关资源
    最近更新 更多