Sat*_*har 2 java junit unit-testing
我正在测试一个包含多个字段的对象.每次我都设置不同的属性并测试对象.
Processor processor =new Processor();
TradeData tradeData = new TradeData();
//case 1
tradeData.setIndex("1");
tradeData.setName("abc");
processor.process(tradeData);
Assert.assertEquals("def",tradeData.getCategory());
//Case 2
tradeData.setCity("1");
tradeData.setSystem("abc");
processor.process(tradeData);
Assert.assertEquals("fgh",tradeData.getCategory());
Run Code Online (Sandbox Code Playgroud)
喜欢明智的测试多个案例.有没有办法在每种情况之前清除tradeData的属性.有没有像obj.clear()这样的方法.我不想在每个案例之前声明new()对象.
当您考虑在测试中清除对象的状态时,这通常是代码味道.
您可能应该使用@Before编写测试来设置每个测试.
Processor processor;
TradeData tradeData;
@Before
public void initialize() {
processor = new Processor();
tradeData = new TradeData();
}
@Test
public void case1() {
tradeData.setIndex("1");
tradeData.setName("abc");
processor.process(tradeData);
Assert.assertEquals("def",tradeData.getCategory());
}
@Test
public void case2() {
tradeData.setCity("1");
tradeData.setSystem("abc");
processor.process(tradeData);
Assert.assertEquals("fgh",tradeData.getCategory());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |