What is the best way to do unit testing for ASP.NE

2019-01-21 13:14发布

Any suggestions? Using visual studio in C#.

Are there any specific tools to use or methods to approach this?

Update:

Sorry, I should have been a little more specific. I am using ASP.Net 2.0 and was looking more for a tool like jUnit for Java. I took a look at NUnit and NUnitAsp and that looks very promising. And I didn't even know that Visual Studio Pro has a testing suite, so I'll look at all of these options (I've just started using Visual Studio/Asp.net/C# this summer).

7条回答
别忘想泡老子
3楼-- · 2019-01-21 13:40

There was a screencast series a year or so ago on Polymorphic Podcast that did a pretty good intro walkthrough of an MVP implementation in ASP.NET. Implemented this way, unit tests fall into place much more naturally.

http://polymorphicpodcast.com/shows/mv-patterns/

查看更多
男人必须洒脱
4楼-- · 2019-01-21 13:41

These frameworks are useful for integration testing, but they can't provide unit testing, that is, testing the View isolated from persistence, business logic, whatever.

For unit testing Asp.Net Webforms, as well as MVC, you can use Ivonna. For example, you can mock your database access and verify that the mocked records are displayed in the datagrid. Or you can mock the membership provider and test the logged in scenario without having to navigate to the login page and entering your credentials, as with integration testing.

查看更多
Lonely孤独者°
5楼-- · 2019-01-21 13:41

WatiN is the best that I've found. It integrates into Visual Studio unit testing or nunit & you can do pretty much anything you need in the browser (click links, submit forms, look for text/images, etc.), plus it's written in .net so you don't need to have ruby installed (as you do for watir, which is an awesome tool none the less)

查看更多
SAY GOODBYE
6楼-- · 2019-01-21 13:47

Your best bet is separating the model logic from presentation and thoroughly unit testing the model with NUnit or similar. Testing the users interaction with the web page can be fiddly.

If you actually do want to unit test the users interaction with the web page some of the afformentioned tools such as waitn seem good, an addition to that which I've heard of is Selenium

查看更多
倾城 Initia
7楼-- · 2019-01-21 13:50

Boy, that's a pretty general question. I'll do my best, but be prepared to see me miss by a mile.

Assumptions

  1. You are using ASP.NET, not plain ASP
  2. You don't really want to test your web pages, but the logic behind them. Unit testing the actual .ASPX pages is rather painful, but there are frameworks out there to do it. NUnitAsp is one.

The first thing to do is to organize (or plan) your code so that it can be tested. The two most popular design patterns for this at the time seem to be MVP and MVC. Both separate the logic of the application away from the view so that you can test the logic without the view (web pages) getting in your way.

Either MVP or MVC will be effective. MVC has the advantage of having a Microsoft framework almost ready to go.

Once you've selected a framework pattern that encourages testability, you need to use a unit testing tool. NUnit is a good starting point. Visual Studio Professional has a testing suite built it, but NUnit + TestDrive.NET also works in the IDE.

That's sort of a shotgun blast of information. I hope some if it hits. The Pragmatic Bookshelf has a good book covering the topic.

查看更多
登录 后发表回答