ฉันไม่พบโพสต์ที่คล้ายกัน ดังนั้นฉันหวังว่านี่จะไม่ซ้ำกัน
ฉันมีไลบรารีคลาส c # ที่ฉันพยายามเรียกใช้การทดสอบหน่วยใน 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
//}
}
}