假設測試代碼(src/test/java
)中的生產代碼(src/main/java
)和ClassXTest
中的類ClassX
。在一些測試方法中,我想篡改ClassX
返回的方法之一,所以我覆蓋了ClassX
及其方法。我不想使用任何模擬框架或這個類是匿名的。是否有任何命名應如何命名這些類?測試代碼中類的命名約定
0
A
回答
0
這些類被稱爲「測試特定的子類」,似乎沒有任何命名約定。 http://xunitpatterns.com/Test-Specific%20Subclass.html給出了一些覆蓋正在測試的類的示例。
+0
這樣的類也被稱爲「測試子類」,我看到建議在名稱前面添加了「測試」前綴。例如,生產類「Server」,測試用例類「ServerTest」和測試子類「TestingServer」。 – 2014-11-04 21:24:44
0
就個人而言,我會叫這些類:ClassXTestImpl
這不是世界上最偉大的命名慣例,但它足以表明它是測試代碼,而不是預期由生產代碼中使用。你也可以使它成爲它正在使用的測試類的私有內部類,那麼它甚至不會被你的生產代碼訪問。
通常,我不喜歡調用東西Impl
,但在這種情況下,ClassX
部分將定義該類實際執行的操作,TestImpl
位僅用於將其標記爲測試實現。
旁白有關部分嘲弄:
我知道你說你不想用嘲諷的框架,但如果你是爲了更換method1
使method2
更容易測試和兩種方法居住在同一個班級,那麼你正在做的是一種部分嘲弄的形式,無論你是否使用框架來做。很難找到與特定框架無關的部分模擬的文檔,所以我會提供EasyMock's documentation,但指出大多數模擬框架支持這種模擬。
相關問題
- 1. C/C++代碼的編碼和命名約定的測試
- 2. .NET測試命名約定
- 3. PHPUnit的測試套件命名約定
- 4. 單元測試包命名約定
- 5. 自動UI測試命名約定
- 6. 接口類型的代碼合同類的命名約定
- 7. c#單元測試 - 重載方法測試的命名約定
- 8. zf2類的命名約定
- 9. Python中測試文件的最佳命名約定是什麼?
- 10. C#類命名約定
- 11. objC中的類別命名約定
- 12. 替代多對多關係的代碼優先命名約定
- 13. 如何更改大型現有代碼中的命名約定?
- 14. 命名約定
- 15. 命名約定
- 16. MVC5中的命名約定
- 17. ReactJs中的命名約定
- 18. 我應該更改單元測試的命名約定嗎?
- 19. 適用於junit測試方法的命名約定
- 20. 命名約定:退出狀態,退出代碼或返回碼?
- 21. 替換API /類的命名約定
- 22. 抽象類的命名約定?
- 23. 過濾器類的命名約定?
- 24. 部分類文件的命名約定
- 25. DTO的枚舉類型命名約定
- 26. Visual C++調試庫命名約定
- 27. 瀏覽器自動完成命名約定和測試
- 28. PHP專用 - 乾淨的代碼,命名約定和文檔
- 29. C庫代碼的正確命名約定
- 30. TSQL命名約定〜這個命名約定叫什麼名字?
這沒有任何意義;如果你正在測試'ClassX',你爲什麼要在測試過程中覆蓋它? – 2014-10-08 22:22:32
可以僞造它返回的值(例如,返回常量而不是訪問WS或DB)或感知某些內容(例如,存儲參數的值以便稍後可以檢查)。 – 2014-10-09 05:07:34
要測試一個抽象類,你也必須擴展它。 – 2014-10-09 05:33:22