【问题标题】:How do I UnitTest my Website?如何对我的网站进行单元测试?
【发布时间】:2013-01-30 16:12:50
【问题描述】:
很抱歉问了这么简单的问题。我是新手。
我正在建立我的网站。我尝试为它创建一个 UnitTest 项目,但我不能不为它创建一个引用。即使我已经为我的类方法创建了命名空间,Visual Studio 也不允许我使用该方法并查看命名空间。
UnitTesting 网站与 UnitTesting 普通程序完全不同吗?
网上有什么参考资料吗?
谢谢
【问题讨论】:
标签:
c#
unit-testing
web
visual-studio-2012
【解决方案2】:
使用thisarticle.如果你是用户mvc使用thisquestion.and this stie
您可能听说过一句古老的格言:“更好、更快、更便宜,选择任意两个。”如果你想要一些又好又快的东西,它就不会便宜,如果你想要一些又快又便宜的东西,它就不会很好。更便宜、更快、更好意味着我们需要更快地编写更多代码,对吧?像那么简单就好了。学习打字更快可能会满足其中两个要求,但这不会使您开发的软件变得更好。那么我们如何让软件变得更好呢? “更好”是什么意思?
“更好”是指生产灵活、可维护且缺陷少的软件;更好的软件是关于长期可维护性的。为了实现这一点,一个关键的设计决策是确保组件松散耦合。松耦合软件有很多好处。一个突出的是它提高了我们测试解决方案的能力。如果我们编写的软件可以很容易地分解成小部分,那么测试就会变得更容易。这么说听起来很简单,但当今使用的软件数量难以测试或维护,这表明它并不像我们想的那么简单。软件需要耦合才能做任何有用的事情,但开发人员需要工具和技术来减少耦合,从而使解决方案更易于测试。
【解决方案3】:
我假设您的网站代码在一个项目中,而您的单元测试代码在同一解决方案的另一个项目中?为了让一个项目中的代码访问另一个项目的代码,您必须添加对另一个项目的引用:
- 右键单击单元测试项目,然后单击“添加引用...”
- 打开“项目”选项卡,选择网站项目并单击“确定”。
【解决方案4】:
您不应该对您的网站进行单元测试。您应该对业务层代码进行单元测试。测试您的网站可能是 UI 测试,您可以使用 Selenium 之类的工具。我建议阅读单元测试和单元测试框架(MSTest、NUnit 等)。你应该分层你的应用程序,这样你就可以在绝对隔离的情况下测试你的类、对象、数据访问等。
例子:
Manage Users 页面可能会向管理员显示所有用户的列表,按过滤条件进行过滤。
页面应该只处理 UI 方面的问题,例如,它应该只关心显示数据。它应该向另一个对象发送请求以获取用户列表。可能类似于 UserRepository,它有一个名为 GetUsers 的方法,它接受过滤条件。
这就是单元测试的用武之地。您将测试(也许通过模拟)当给定数据库中非常具体的用户列表和特定过滤条件时,@987654324 @ 方法返回你期望的用户列表。