我正在嘗試使用Cofoja(Java合同)執行我的代碼的離線檢測。我似乎無法使用脫機字節碼編寫器在編譯的類文件中獲得合約(該功能在GitHub頁面的Invocation部分中簡要提及)。我執行結果的類文件並故意失敗。什麼都沒發生。如何在Cofoja上使用脫機字節碼編寫器?
這是我的Java代碼...在我的主,我只是做這樣的事情:return divide(10, 0);
@Requires("y != 0")
public static int divide(int x, int y)
{
return x/y;
}
然後我執行以下操作:
我通過我的IDE,的IntelliJ建立java文件並獲取類文件。
然後執行脫機字節碼作家是這樣的:
java -Dcom.google.java.contract.classoutput=cofoja -cp cofoja.asm-1.2-20140817.jar com.google.java.contract.core.agent.PreMain JavaTest.class
這導致另一個「JavaTest.class」文件中的「cofoja」目錄下生成。但是,當我執行它時,我看不到任何合同錯誤。
有誰知道使用「com.google.java.contract.core.agent.PreMain」生成合同編織的合同的正確步驟嗎?