junit测试后关闭窗口

时间:2012-02-15 23:17:09

标签: java testing junit swt

所以我有一个看起来像

的Junit测试(片段)
String buffer="Mary had a little lamb";
r.decodeSWT(buffer, false, new GraphDrawingForSWT());
assertTrue((r.getNumberOfNodesInGraph() == 8) && (r.getNumberOfEdgesInGraph() == 7));

我的问题是decodeSWT方法打开一个显示图表的窗口,测试在关闭之前不会继续。是否有一种最佳实践方法可以从测试中覆盖它?显然很难自动运行测试。

1 个答案:

答案 0 :(得分:0)

这样的问题通常表明你的代码需要重构,以便逻辑部分(例如构建图形)与GUI部分完全分离。

然后,您可以通过输入字符串并测试图形输出(例如)和GUI部分来测试逻辑部分,方法是打开GUI,给它一个图形,测试某些节点是否显示(例如)然后从测试代码中关闭GUI。