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的合同?