如何将 NUnit 与 ASP.NET 网站(不是 Web 项目)一起使用?
我是单元测试新手,我想尝试一下 NUnit。
在 ASP.NET Web 项目中,我可以在 Web 项目解决方案中创建一个新项目以进行单元测试,并添加对原始项目的引用,在 NUnit 中,我可以加载单元测试项目的 dll 文件来运行测试。
但是,我正在开发一个 ASP.NET 网站,并且由于 ASP.NET 网站没有 dll 文件,我无法在解决方案中添加引用我的网站项目的单独项目,因此,我无法访问类在主项目中进行测试。即使我决定将测试留在我的主网站项目中,我也无法直接在 NUnit Gui 中加载该网站的 dll(因为没有任何 dll 文件)。
当我尝试使用 Visual Studio 为我的网站创建单元测试时,我也遇到一个问题,不知道它们是否相关。
任何帮助将不胜感激。
I am new to unit testing and I wanted to give NUnit a try.
In an ASP.NET Web Project, I can create a new project in my web project solution for unit testing and add a reference to my original project and in NUnit I can load the dll file for my unit testing project to run the tests.
However, i am developing an ASP.NET Website and because an ASP.NET Web Site does not have a dll file, I cannot add a seperate project in my solution which references my website project, and therefore, I was not able to access classes in the main project to test. Even if I decided to leave my tests in my main web site project, I am not able to directly load the dll for the web site in the NUnit Gui (because there isn't any dll file).
I also face a problem when i try to creat Unit Tests for my web site using Visual Studio, don't know if they're related.
Any help would be apreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为什么不能切换到 Web 应用程序项目?
或者,您可以将业务逻辑移至外部类库项目,然后在 Nunit 测试项目中引用后者。
Why can't you switch to Web Application Project instead?
Or, you can move your business logic to an external Class Library Project and then reference the latter in your Nunit Test Project.
是的,这是可能的。诀窍是不使用 NUnit GUI Runner,而是使用自定义 ASP.net 测试页。这是使用 Razor 的示例。 App_Code\MyRunner.cs 中包含以下内容:
这里有一个与之配套的 CSHTML 页面。将其命名为 MyNUnit.cshtml:
Yes, it is possible. The trick is not to use the NUnit GUI Runner, but have a custom ASP.net test page. Here's a sample using Razor. The following goes into App_Code\MyRunner.cs:
And here's a CSHTML page to go with it. Name it as MyNUnit.cshtml:
您可以通过以下方式提供您的网站项目的参考
You can provide the reference to your website project by