我无法调试或逐步完成单元测试。
以下是我的示例测试代码......
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using DomainModel.Entities;
using DomainModel.Abstract;
using WebUI.Controllers;
namespace Tests
{
[TestClass]
public class PeopleControllerTests
{
static IPeopleRepository MockPeopleRepository(params Person[] people)
{
var mockPeopleRepos = new Moq.Mock<IPeopleRepository>();
mockPeopleRepos.Setup(x => x.People).Returns(people.AsQueryable());
return mockPeopleRepos.Object;
}
[TestMethod]
public void Count_Of_People()
{
IPeopleRepository repository = MockPeopleRepository(
new Person { Age = 31, Gender = "Male", Name = "Tom" },
new Person { Age = 25, Gender = "Female", Name = "Sally" },
new Person { Age = 18, Gender = "Female", Name = "John" }
);
PeopleController controller = new PeopleController(repository);
var people = controller.List().ViewData.Model;
var peoplelist = people as IList<Person>;
Assert.AreEqual(3, peoplelist.Count);
}
}
}
答案 0 :(得分:83)
使用Microsoft.VisualStudio.TestTools.UnitTesting时,转到VS 2010主菜单中的“Test”,单击子菜单“Debug” - &gt; “在当前背景下进行测试”。
右键单击测试代码并选择“运行测试”将永远不会启动调试器,即使在mode = debug时也是如此。
答案 1 :(得分:18)
答案 2 :(得分:12)
是的,你可以,谢谢你:)
要实际打破它们,您需要在调试模式下运行单元测试。
答案 3 :(得分:4)
如果您正在运行nunit
,那就太容易了:
nunit
并在其中打开所需的程序集。nunit
nunit
并运行测试答案 4 :(得分:4)
也许只是调试测试和设置断点在某些单元测试中有效,但是如果你调试它就不行网络服务。
要调试Web服务(在单元测试中中断),您必须插入以下代码:
System.Diagnostics.Debugger.Break();
这将显示一个弹出窗口,说应用程序停止工作,您可以选择调试它。
更多信息: http://msdn.microsoft.com/en-us/library/ms243172.aspx#DebuggingOnCassini
答案 5 :(得分:4)
另一种解决方案......
您需要运行并附加调试器
将此行设置在测试中执行的第一行(可能在测试类构造函数中)
System.Diagnostics.Debugger.Launch();
然后当调试窗口打开时,选择visual stdio
答案 6 :(得分:0)
一个选项是安装TestDriven.net,这样可以更轻松地在任何主要的单元测试.net框架(nunit,xunit,VS工具等)上运行单元测试。安装完成后,您可以右键单击某个功能,然后选择Test With - &gt;调试器。
答案 7 :(得分:0)
在Visual Studio中调试单元测试的两个简单步骤 1.在单元测试中设置要调试的断点 2.右键单击单元测试中的任意位置,然后从上下文菜单中选择“调试测试”
单步执行单元测试与在Visual Studio中单步执行任何其他代码非常相似。 跨步-F10 进入-F11 走出= Shift + F11
您还可以从“测试资源管理器”窗口中调试单元测试 1.首先找到要调试的单元测试 2.双击单元测试将打开该单元测试 3.在单元测试中设置一个断点 4.在测试资源管理器中,右键单击该单元测试,然后选择“从上下文菜单中调试选定的测试”
调试所有测试 单击测试-调试-所有测试 然后执行将在所有单元测试中的所有断点处暂停
要记住的一件事是,如果在Visual Studio中选择运行测试而不是调试测试,则单元测试中的断点将被忽略。