从Concordion测试规范

时间:2015-06-25 13:29:07

标签: testing concordion

我想使用Concordion为一个简单的bankAccount pgm编写测试,该pgm作为黄瓜教程的一部分提供。我在解决如何从协调测试规范中初始化对象时遇到了麻烦。

我在夹具中创建了一个名为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);
    }

...

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

如果要从Concordion规范中调用初始化方法,则不需要@Before注释。 JUnit使用它在执行实际测试方法之前调用方法。但Concordion不运行单个测试方法,而是根据规范文档中的检测调用fixture类中的方法。

请求,尝试删除@Before注释,然后重试。