2013-08-26 73 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

相关问题