作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 Vaadin 中,您可能知道重写的 generateCell 方法仅在 Table 需要构建其可见内容时调用。因此,当我为此类编写 JUnit 测试时,我无法触发 generateCell 方法并对其进行测试。我该如何测试这个想法?或者我是否必须为此使用 GUI 测试工具(我不想这样做,因为它的许可证非常昂贵)
public class AttributeColumnGenerator implements Table.ColumnGenerator {
@Override
public Object generateCell(Table source, Object itemId, Object columnId) {
//lots of code here to be tested
}
}
最佳答案
根据我对问题的理解,我认为你不需要在这里有一个 GUI 测试工具。
这是我对简单测试的想法:
generateCell
。这是我的一个片段
首先是我的 ColumnGenerator
,它只创建一个带有单元格值的标签。
public class AttributeColumnGenerator implements Table.ColumnGenerator {
public Object generateCell(Table source, Object itemId, Object columnId) {
String textToDisplay = (String)source.getItem(itemId).getItemProperty(columnId).getValue();
return new Label(textToDisplay);
}
及测试方法
@Test
public void attributeColumnGenratortest()
{
AttributeColumnGenerator columnGenerator = new AttributeColumnGenerator();
Table table = new Table();
String columnId = "test";
table.addContainerProperty(columnId, String.class, "");
String itemId = "item1";
Item item = table.addItem(itemId);
item.getItemProperty(columnId).setValue("Value of item1");
Label generateObject = (Label)columnGenerator.generateCell(table, itemId, columnId);
// Assert any properties of the returned Component.
// In this snippet, I only printOut the boolean comparaison.
System.out.println( "Value of item 1".equals(generateObject.getValue()));
}
也许这不是最好的解决方案,但它确实有效。
希望对您有所帮助!
问候。
关于java - Vaadin:如何使用 JUnit 测试 generatedCells,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10409801/
在 Vaadin 中,您可能知道重写的 generateCell 方法仅在 Table 需要构建其可见内容时调用。因此,当我为此类编写 JUnit 测试时,我无法触发 generateCell 方法并
我是一名优秀的程序员,十分优秀!