【发布时间】:2018-07-12 20:31:48
【问题描述】:
我正在使用 JUnit 为操作 JSON 对象的方法创建单元测试。我想在我的测试文件中创建一个方法,该方法设置将在我的一些(但不是全部)测试方法中使用的对象。如何有选择地运行设置方法并将其生成的 JSONObject 传输到测试方法?有一个更好的方法吗? 这是我对设置方法的想法(使用 gson):
public static JsonObject prepareTestJson(){
JsonObject testJson_container = new JsonObject();
JsonObject testJson_inner = new JsonObject();
String ContactInfo = "+1 111 111 1111";
testJson_inner.addProperty("Contact", ContactInfo);
testJson_container.add("ID", testJson_inner);
return testJson_container;
}
【问题讨论】:
-
你可以做一个不同的测试类。在您的情况下,这可能更合乎逻辑。您也可以只创建一个非测试用例方法并在每次需要时调用它。可能还有一种 JUnit 方式可以做到这一点,类似于 C++ 中的Boost Test's suites,但我并不熟悉。
-
为什么不简单地从他们需要的测试中调用该方法呢?另一种可能性是将需要这种准备的测试移动到一个单独的测试类中,其中准备是在一个普通的
@Before方法中完成的。 (是的,每个测试单元拥有多个 TestClass 是合法的...)
标签: java unit-testing junit gson junit4