[英]Cannot debug a unit testing project in Visual Studio 2012
我找不到类似的帖子,所以我希望这不是重复的。
我有一个ac #class库,我正在尝试在Visual Studio 2012中运行单元测试。我在我的解决方案中添加了一个新的单元测试项目,并在那里添加了我的主项目作为参考。 我已将我的单元测试项目设置为启动项目。 当我尝试调试时,收到错误消息
无法直接启动具有类库的输出类型的项目。
要调试此项目,请将可执行项目添加到此解决方案,该项目引用库项目。 将可执行项目设置为启动项目。
根据msdn的演练,我应该在调试时运行测试。 有什么想法吗? 这是我的单元测试代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Common;
using Messages;
namespace MessageUnitTests
{
[TestClass]
class RegistrationTester
{
[TestMethod]
public void RegistrationRequest_TestConstructorsAndFactories()
{
RegistrationRequest rr1 = new RegistrationRequest("myhandle");
Assert.AreEqual("myhandle", rr1.Handle);
rr1 = new RegistrationRequest("longHandle-ABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789'|;:',.=-_+!@#$%^&*()");
Assert.AreEqual("longHandle-ABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789'|;:',.=-_+!@#$%^&*()", rr1.Handle);
rr1 = new RegistrationRequest("");
Assert.AreEqual("", rr1.Handle);
rr1 = new RegistrationRequest(null);
Assert.AreEqual(null, rr1.Handle);
rr1 = new RegistrationRequest("myhandle");
ByteList bytes = new ByteList();
rr1.Encode(bytes);
RegistrationRequest rr2 = RegistrationRequest.Create(bytes);
Assert.IsNotNull(rr2);
Assert.AreEqual(rr1.IsARequest, rr2.IsARequest);
Assert.AreEqual(rr1.MessageNr.ProcessId, rr2.MessageNr.ProcessId);
Assert.AreEqual(rr1.MessageNr.SeqNumber, rr2.MessageNr.SeqNumber);
Assert.AreEqual(rr1.ConversationId.ProcessId, rr2.ConversationId.ProcessId);
Assert.AreEqual(rr1.ConversationId.SeqNumber, rr2.ConversationId.SeqNumber);
Assert.AreEqual(rr1.RequestType, rr2.RequestType);
Assert.AreEqual(rr1.SessionId, rr1.SessionId);
Assert.AreEqual(rr1.Handle, rr2.Handle);
}
//[TestMethod]
//public void RegistrationRequest_EncodingDecoding()
//{
// Message m1 = new RegistrationRequest("myhandle");
// m1.MessageNr = MessageNumber.Create(10, 14);
// m1.ConversationId = MessageNumber.Create(10, 12);
// ByteList bytes = new ByteList
//}
}
}
您将要以不同的方式调试它:
确保在创建包含测试的visual studio项目时使用了“单元测试项目”模板。 Visual Studio需要csproj标记中的一些元数据,现在如何执行类库。
您可以通过在记事本中编辑csproj文件来添加或确认它存在:
<Project>
<PropertyGroup>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup>
</Project>
详细信息@ http://onlinecoder.blogspot.ca/2009/09/visual-studio-projects-project-type.html
现在它应该在Visual Studio中使用F5。 如果仍然无效,请右键单击测试并单击“运行测试”或使用测试资源管理器(测试> Windows>测试资源管理器)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.