我必須寫一個非常大的測試套件一套複雜的業務規則當前在幾個表格形式(例如,如果參數X Y Z爲如此這般,則該值應爲V1和V2之間)捕獲。每個規則都有一個名稱和它自己的語義。是否有可能以編程方式生成JUnit測試用例和套件?
我的最終目標是將測試套件組織到子測試套件中,併爲每個規則提供測試用例。
一種選擇是將所有這些規則實際硬編碼爲測試。這很醜陋,耗時而且不靈活。
另一種方法是編寫一個Python腳本,它將讀取規則文件並使用單元測試生成Java類。如果可以,我寧願避免這種情況。另一個變體是使用Jython。
然而,理想情況下,我想有一個測試套件來讀取文件,然後定義它們中的子套件和測試。所有這些測試都可以從表文件採取了一定的值進行初始化,在我們的系統中運行的固定入口點,然後調用基於預期值的結果會驗證功能。
是否有一種合理的方法可以僅使用Java來解決這個問題?
更新:我可能有所簡化我們的一種規則。其中一些確實是表格(excel風格),其他則更加模糊。一般問題仍然存在,因爲我可能不是第一個有這個問題的人。
非常有興趣瞭解這個;我需要更多地瞭解測試用例。 – I82Much 2009-10-29 21:34:51