我最近在VS2008內部運行單元測試時遇到了一些不一致問題,而在命令行上使用mstest運行相同的單元測試。在VS2008中使用單元測試vs在命令行中使用mstest
我的場景有點高級,所以我可能碰到了一些問題。我有許多數據驅動的單元測試針對同一個DataSource運行。我也喜歡試用PostSharp。所以,我寫了PostSharp方面 - TestDataSource
- 我適用於單元測試類型,而不是單元測試方法。構建類型時,此方面指示PostSharp將DataSource
屬性附加到該類型中的每個單元測試方法。
檢查Reflector中的內置組件顯示每種測試方法確實歸因於正確的DataSource
屬性。在命令行上使用mstest運行測試的行爲與預期相同 - 每個測試都針對指定的數據源運行。
但是,在VS2008中運行完全相同的單元測試無法找到數據源。就好像VS2008忽略了構建好的程序集並查看源代碼,當然這看起來不是數據驅動的測試,因爲DataSource
屬性是在構建期間注入的。
部署項目沒有問題。將DataSource
手動附加到測試使VS2008愉快地運行它們。
任何想法?
加載的組件是不是從斌\調試,因爲它是一個MSTEST單元測試。它被複制到專用的部署目錄。但它是正確的組裝。當我在調試器運行時用反射器檢查它時,我看到PostSharp在相應的單元測試方法中注入的DataSource屬性。 我不知道它是否重要,但我們的產品不是內置在bin \ Debug中的,而是所有項目都內置在解決方案文件夾之外的單個合併bin目錄中。 DataSource是一個特殊的屬性。你試過PostSharping嗎? – mark 2009-07-26 06:59:47