2013-08-26 106 views
0

我在web項目中爲方法創建了一堆單元測試,但我無法讓visual studio找到這些單元測試。visual studio在web項目中找不到單元測試

單元測試位於App_Code文件/測試/ testfile的(有文件夾下的測試多個測試文件)

如何讓我的Visual Studio找到這些測試?

我首先嚐試了一個單獨的單元測試項目,但我無法引用該Web項目,因此不會調用App_Code下的.cs文件中的任何方法。

回答

1

重構解決方案,以便您正在測試的代碼位於一個程序集中,例如從Web項目引用的Dataaccess.dll以及也引用Dataaccess.dll項目的測試項目DataaccessTests中的測試。

+0

這是否意味着沒有辦法在webproject中使用單元測試定義文件夾? – KristianMedK

+0

我認爲最佳實踐是將測試代碼和生產代碼分開。創建分層和模塊化應用程序的好處是能夠測試應用程序。因此,如果很難在測試項目中引用Web項目,我會建議將Web應用程序分層到可以隔離和測試的組件中,這是您前進的方向。 – MathiasWestin

0

我同意Mathias。 這是一個更好的設計,可以將您的代碼分層模塊化。 因此,您可以爲您的業務邏輯和Dataaccess邏輯創建組件。 這些不是基於Web的,很容易測試。 您可以將引用添加到此程序集並進行測試。 如果按照這個方法,你將有至少3個項目:

  1. WEBUI
  2. BusinessLogic
  3. Dataacces

WEBUI的Projekt的引用BusinessLogic項目和BusinessLogic項目引用數據訪問PROJEKT 。

在WebUi項目中,只做UI相關的東西,讓BusinessLogic層完成工作。

希望它有幫助...

+0

我們使用了這種結構,但是當我們只想在一個地方保存連接時很麻煩,以避免在從測試環境部署到「真實」環境時不得不在多個位置進行更改。 我們可能缺少關於最佳實踐的som基礎知識 – KristianMedK

+0

您的意思是連接字符串?如果是,則需要將配置文件(Web.Config)添加到WebUi項目。只有在那裏。所以你只有一個點。在你的Test項目(f.e.Test.Dataacess)中,你將不得不使用連接字符串來添加一個app.config文件。 – Dannydust

相關問題