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());
}
}
main(String[]) メソッドを実行すると、以下が発生します。
number: -5
印刷する。コンパイルの警告 (予期されていた) はなく、スローされた例外もありませんでした。また、CodePro によって生成された junit テスト メソッドは、コントラクトの影響を受けませんでした。
では、CodePro のコントラクトをどのように使用しますか?