【发布时间】:2012-05-18 06:12:31
【问题描述】:
我正在开发一个新项目,我想在屏幕上显示一些数据。我让自己使用 TDD,这对我来说是新的,但我喜欢这个想法并且到目前为止相处得很好。
我设置了一个 JFrame,添加了一个 Textarea 并将文本放在那里,但我该如何正确测试呢?还是在我这边的 TDD 上下文中这是错误的想法?我想确定(以 TDD 方式)数据正确显示!显示的文本的创建已被测试正确覆盖,但显示却没有。
这是一个完全简化的例子:
public class MyTextDisplay {
public static void main(String[] args) {
JFrame my_frame = new JFrame("DisplaySomeText");
my_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextArea textArea = new JTextArea(5, 20);
textArea.setEditable(false);
my_frame.add(textArea);
my_frame.setVisible(true);
//this would be in a separate method
textArea.append("Hello World");
}
}
【问题讨论】:
-
您确定要将边界测试(“单元”测试 UI)纳入您的 TDD 生命周期吗?我是TDD的大支持者,但不包括边界测试,只包括服务层和业务层的其他部分。
-
Baastian,这是一个很好的第一个问题。 +1。感谢您为此付出的努力。
-
所以测试显示和东西应该被视为一个完全不同的话题?如前所述,我对 TDD 很陌生...
-
我建议它是一个不同的主题——GUI 测试本身就是一头野兽。先让你的程序工作,也就是逻辑,然后再担心 GUI。这有点像关注点分离,因为它可以让您专注于手头的任务。