[英]Unit testing D library
內置的單元測試功能( unittest {...}
代碼塊)似乎只在運行時激活。
如何在沒有main
功能的庫中激活單元測試?
這與這個SO問題有些相關,盡管那里接受的答案是通過main
功能處理解決方法。
作為一個例子,我希望單元測試在僅包含此代碼的文件上失敗:
int foo(int i) { return i + 1; }
unittest {
assert(foo(1) == 1); // should fail
}
你會注意到我沒有在頂部聲明module
。 我不確定這對於這個具體問題是否重要,但實際上我會在頂部有一個module
聲明。
如何在沒有主要功能的庫中激活單元測試?
您可以使用DMD的-main
開關,或RDMD的--main
開關,一個空添加main
功能設定編譯源文件。 這允許為庫創建單元測試二進制文件。
如果您使用配音, dub test
將自動執行上述操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.