如何编写依赖于ASP.Net/PHP项目的测试项目?

时间:2014-11-17 22:17:44

标签: visual-studio unit-testing visual-studio-2013

假设我的解决方案中有三个项目。

1 ASP.Net项目是否只是打印输出

2是一个使用VS.PHP的PHP项目,它只打印一个输出(与ASP.Net项目相同的输出。只是在不同的环境中)

3一个C#控制台项目,它使用上述两个项目作为服务器并解析它们的响应。

现在我要添加一个名为" Test"并用单元测试填充它主要用于测试解决方案的完整性。 我是单元测试的新手,但我的主要问题不在于它们。这是一个简单的问题:在执行我的测试之前,我怎样才能运行两个第一个项目(使用VS.Php Webserver for PHP和IIS Express for ASP.Net项目 - 每次一个)?我无法测试第三个项目而没有前两个项目中的一个活动,结果我无法检查项目的完整性。甚至不是它的一部分。

那么,你有什么建议吗?我在这里错了吗?也许我只是不明白。

使用Visual Studio 2013 Update 3

1 个答案:

答案 0 :(得分:1)

通常,对于单元测试,您不要将实时系统与测试连接在一起。这将被称为集成测试。我通常用于单元测试的线路是它需要a)始终快速并且b)能够在没有网络连接的情况下运行。

如果您想进行单元测试,最简单的方法是在依赖系统周围建立接口。不要使用这些名称,而是使用IAspNetProject和IPhpProject之类的名称。对这些接口进行编码,然后将其实现替换为伪数据以进行单元测试。

如果您想进行集成测试,那么您可以使用http://nancyfx.org/之类的东西来创建自托管的Web项目。在本地启动轻量级Web应用程序以进行测试还有很多其他选项。