你如何在Eclipse中使用CodePro的合同?

Kev*_*vin 5 java eclipse contracts codepro

我以为我理解了CodePro的合同,但它们似乎没有任何效果.例如:

public class ContractTest {

    private int number;

    /**
     * @pre inputNumber > 0
     * 
     * Alternatively:
     * @post number > 0
     */
    public void setNumber(int inputNumber) {
        number = inputNumber;
    }

    public int getNumber() {
        return number;
    } 

    public static void main(String args[]) {
        ConditionsTest conditionsTest = new ConditionsTest();
        conditionsTest.setNumber(-5);
        System.out.println("Number: " + conditionsTest.getNumber());
    }
}
Run Code Online (Sandbox Code Playgroud)

运行main(String [])方法会导致:

number: -5
Run Code Online (Sandbox Code Playgroud)

打印.没有编译警告(预期),也没有抛出异常.此外,CodePro生成的junit测试方法不受合同的影响.

那么你如何使用CodePro的合同?

Tud*_*dor 1

您确定应该收到编译警告吗?据我所知,CodePro 中的合约仅用于生成具有正确断言的 JUnit 测试用例,而不是发出警告。