我想使用Concordion为一个简单的bankAccount pgm编写测试,它是作为黄瓜教程的一部分提供的。我很难从concordion测试规范中初始化对象。
我在夹具中创建了一个名为createAccount的方法,它使用一个initialBalance和帐号作为参数。
我根据测试规范叫它..。
<b concordion:execute="createAccount(#accountNum,#initBalance)">但是当我运行测试时,我会发现一个错误.
java.lang.Exception: createAccount方法应该没有参数。
我知道,我只需将这些变量赋值在夹具类中,但我认为,如果我可以通过测试规范来实现这些变量,这将是非常有用的。
下面是调用createAccount的测试夹具的一部分
@RunWith(ConcordionRunner.class)
public class CashMachineTest {
private Account newAccount;
int initBalance = 123;
int accountNum = 1;
@Before
public void createAccount(int accountNum, int initBalance) throws Throwable{
newAccount = new Account(accountNum, initBalance);
}
public int getBalance(){
return newAccount.getBalance();
}
public void deposit(int amount){
newAccount.deposit(amount);
}……
任何帮助都将不胜感激。
发布于 2015-06-27 10:01:22
当您想从Concordion规范调用初始化方法时,您不需要@ the注释。JUnit使用它在实际测试方法执行之前调用方法。但是Concordion并不运行单一的测试方法,而是根据规范文档中的检测来调用夹具类中的方法。
请尝试在注释之前删除@,然后再试一次。
https://stackoverflow.com/questions/31051781
复制相似问题