首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Eclipse中使用CodePro的合同?

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

Stack Overflow用户
提问于 2011-11-17 11:02:15
回答 2查看 1.1K关注 0票数 5

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

代码语言:javascript
复制
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[])方法会导致:

代码语言:javascript
复制
number: -5

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

那么,如何使用CodePro的合同呢?

EN

回答 2

Stack Overflow用户

发布于 2011-11-23 20:50:44

你确定你应该得到编译警告吗?据我所知,CodePro中的契约只是用来生成带有适当断言的JUnit测试用例,而不是给出警告。

票数 1
EN

Stack Overflow用户

发布于 2011-11-23 21:28:38

如果你想在java开发中包含契约式设计,Cofoja绝对是一个更好的选择:

http://code.google.com/p/cofoja/

编辑:在Eclipse中设置Cofoja:

http://fsteeg.com/2011/02/07/setting-up-contracts-for-java-in-eclipse/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8161590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档