簡體   English   中英

單元測試D庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM