2008-12-06 49 views
0

我曾經有一個測試文件夾在我的主要項目中,一個單元測試了這行代碼:打破了單元測試到另一個項目

Foo foo = new Foo(Environment.CurrentDirectory + @"\XML\FooData.xml"); 

我在,有一個foo的項目的XML目錄FooData.xml

在我的項目後生成事件,我有以下行 複製 「$(PROJECTDIR)富\ Currencies.xml」 「$(TARGETDIR)\ XML」

我現在已經打破了所有單元測試到另一個項目將它們分開,我現在得到以下內容運行這些單元測試時出錯。

找不到路徑的一部分 'C:\ svncheckout \ Foo.Tests \ BIN \調試\ XML \ FooData.xml'

+0

就像一個小一旁,爲路徑使用System.IO.Path.Combine()而不是字符串連接在可能的情況.. – 2008-12-06 12:28:35

回答

4

而不是具有生成後步驟,你能不能只需在Visual Studio中將其設置爲「內容」項,告訴它將其複製到目標目錄?我通常要麼做到這一點,要麼使其成爲嵌入式資源並使用流和Assembly.GetManifestResourceStream。

1

我相信你需要更新後生成事件爲Foo.Tests項目是:

「$(PROJECTDIR)Foo.Test \ Currencies.xml」 「$(TARGETDIR)\ XML」

+0

你是否也在說把這個XML文件放在這個項目中? – leora 2008-12-06 12:36:59

+0

我假設你已經將它移入該項目,導致複製操作不復制任何東西。 – 2008-12-06 16:50:37

0

你也可以把XML的完整路徑在您的測試模塊的App.config