【调试单元测试时,Visual Studio c#不应启动IIS网站】教程文章相关的互联网学习教程文章

c# – 在TFS构建服务器上运行单元测试伪造框架|错误

使用Microsoft Fakes Framework,我试图在我们的TFS构建服务器上运行我的单元测试.本地它工作正常,但它不能在构建服务器上工作: 似乎没有将正确的文件复制到输出目录中.我应该复制哪些文件(除了单元测试和测试的项目类)?我应该复制Fakes dll吗?解决方法:您需要在构建服务器上安装Visual Studio Premium / Ultimate. 安装完成后,您应该能够执行构建.我很确定它会在构建过程中复制正确的文件,就像它在本地一样.

c# – Visual Studio 2012 – 单元测试错误【代码】

我正在使用Visual Studio 2012,我遇到以下错误:“错误’hw02.World’不包含带有2个参数的构造函数.我正在尝试为我的类创建单元测试:class World : IWorld {public World(int width, int height){Width = width;Height = height;world = new IBuilding[width, height];} }创建错误的测试:[TestClass] public class UnitTest1 {[TestMethod]public void TestMethod1(){var world = new World(5, 5); // this line creates the err...

c# – 如何在MSBuild单元测试中访问teamcity配置参数【代码】

有没有办法在MSBuild单元测试中访问配置参数? 我将teamcity配置为每隔几个小时运行一次冗长的测试集.我不时地想要使用特定参数(字符串限制样本测试集)运行测试.我没有在单元测试中检查更改,而是单击团队城市中的“运行…”并将值设置为某个参数. 这可能吗?解决方法:一种可能的解决方案是从teamcity中的构建参数设置环境变量,然后让测试查找此环境变量以确定要运行的内容. 如果从配置步骤菜单中选择构建参数并添加新的构建参数,然...

c# – 更新,使用Moq删除单元测试的方法【代码】

我在单元测试中使用Moq框架.这是UpdateApplication测试方法:[TestMethod] public void UpdateApplication() {const string newAplpicationName = "NewApplication1";var data =new[]{new Application { Id = 1, Name = "Application1" }, new Application { Id = 2, Name = "Application2" },new Application { Id = 3, Name = "Application3" }, new Application { Id = 4, Name = "Application4" }}.AsQueryable();var mockSet ...

c# – 单元测试使用异步调用的MassTransit消费者【代码】

我们正在使用MassTransit异步消息传递(在RabbitMQ之上)来实现我们的微服务架构. 我们遇到了测试消费者的问题,而这些消费者又会进 下面的示例显示了一个简单的MassTransit使用者,它使用RestSharp进行出站调用并使用ExecuteAsync异步方法.public class VerifyPhoneNumberConsumer : Consumes<VerifyPhoneNumber>.Context {IRestClient _restClient;RestRequest _request;PhoneNumber _phoneNumber;PhoneNumberVerificationResponse _...

c# – ASP.NET核心中的单元测试标记助手 – 填充标记公共属性【代码】

我试图在一个新项目上实现最佳实践,我想我可以在多大程度上将单元测试扩展到MVC Tag Helpers.在这个例子中,我有一个非常简单的帮手,取自MVC documentation的Tag Helper部分,所以现在我有< email mail-to =“Support”>< / email>. 实际代码如下.public class EmailTagHelper : TagHelper {private const string EmailDomain = "contoso.com";public string MailTo { get; set; }public override void Process(TagHelperContext ctx...

c# – 单元测试委托方法【代码】

在单元测试方法中是否有任何意义,它唯一能做的就是委托另一个对象的工作?例:class abc {...public void MoveLeft(){fallingPiece.MoveLeft();}... }出于学习目的,我正在为我现有的一些课程进行单元测试.例如,为此MoveLeft()方法执行单元测试似乎有点奇怪.但我不确定如何完成Test-First. 谢谢解决方法:如果我这样做,你的代码会破坏吗?如果它会,那么你需要一个测试来捕获它.class abc {...public void MoveLeft(){// fallingPiece...

c# – 单元测试,确保良好的覆盖范围,同时避免不必要的测试【代码】

我编写了一个类,它是一个可枚举的包装器,用于缓存底层可枚举的结果,只有在枚举并到达缓存结果的末尾时才获取下一个元素.它可以是多线程的(获取另一个线程中的下一个项目)或单线程(获取当前线程中的下一个项目). 我正在阅读unit-testing,并希望得到适当的测试.我正在使用nunit.我的主要问题是我已经写了我的课并且正在使用它.它适用于我正在使用它(目前有一件事).所以,我正在编写我的测试,只是试着想一想可能出错的事情,因为我已经非...

c# – 如何对Task Parellelism进行单元测试【代码】

我在.NET中有一个类,它创建并启动一个新的System.Threading.Tasks.Task,如下所示:public class ScheduledTask {private IFoo _foo;public ScheduledTask(IFoo foo){_foo = foo;}public void Start(){ _task = new Task(() => Run());_task.Start();}public void Stop(TimeSpan timeout){var taskCompletedNormally = _task.Wait(timeout);if (taskCompletedNormally){ _task.Dispose();_task = null; ...

在C#中的单元测试中设置命令行参数

是否有可能在VS2012的单元测试中设置命令行参数?如果没有,除了编写批处理文件之外,还有其他方法可以测试这些参数的许多组合吗? 编辑:我有一个控制台程序,它读取和解析传递的命令行参数.我想确保程序具有正确的行为,无论传递什么命令行参数.我不是一遍又一遍地尝试所有组合,而是想编写一个单元测试来设置参数并用它们启动我的程序. 我没有使用任何特定的测试框架.只是通过创建一个新的测试项目在Visual Studio中提供的那个.解决方...

c# – AppDomain.UnhandledException处理程序在单元测试中不会触发【代码】

在下面的代码片段中,为什么在单元测试中抛出异常时,附加的处理程序(AppDomain.CurrentDomain.UnhandledException事件)是否会激活? 我在VS2010上使用NUnit 2.5.10和TestDriven.NET 3.0.[TestFixture] public class MyTests {private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) {Console.WriteLine("Gotcha!");}[Test]public void ExceptionTest1() {AppDomain.CurrentDomain.Unhandled...

c# – 如何保持单元测试DRY和减少断言【代码】

我正在尝试使用TDD方法实现webserviceclass,它发送一堆webrequests并解释响应.我将webrequests封装在几个接口中,以便我可以轻松地模拟它们.通过webserviceclass请求某些内容时,实现的方法始终返回包含错误对象的特定响应对象.在此错误对象的帮助下,用户可以确定请求是否成功,以及特定错误是什么. 在写了一堆测试之后,我意识到我在编配阶段重复了很多次:var mock = new Mock<ISomeWebservices>(); var sut = new MyWebServiceClass...

c# – 单元测试和多个异步任务【代码】

我正在创建单元测试以帮助构建一些代码,这些代码将接受并排队(如果需要)来自我的控制器的入站请求. 在我的单元测试中,我希望同时启动两行代码,尽管调用之间有2秒的延迟.这允许我的逻辑的第一个分支被触发,然后在第二次调用时,因为已经看到传递的数据使用逻辑的备用分支. 我已经走近了,但感觉很乱.我正在使用以下内容立即关闭我的第一个调用,然后转到后续的代码行.Task.Factory.StartNew(() => stubbedQueueHandler.QueueProcessor(...

c# – 如何对包含异步调用的方法进行单元测试?【代码】

我有一个包含这样的异步调用的方法:public void MyMethod() {...(new Action<string>(worker.DoWork)).BeginInvoke(myString, null, null);... }我正在使用Unity并且创建模拟对象不是问题,但是如何在不担心竞争条件的情况下测试DoWork的调用? 一个previous question提供了一个解决方案,但在我看来,等待处理是一个黑客(竞争条件仍然存在,虽然它几乎不可能提出). 编辑:好的,我想我可以用一般的方式提出这个问题,但似乎我必须进一步...

如何使用NUnit在C#中对线程安全通用列表进行单元测试?【代码】

我问了一个关于构建自定义Thread Safe Generic List的问题,现在我正在尝试进行单元测试,我完全不知道如何做到这一点.由于锁定发生在ThreadSafeList类中,我不确定如何在我尝试模仿多个add调用时使列表锁定一段时间.谢谢. Can_add_one_item_at_a_time[Test] public void Can_add_one_item_at_a_time() //this test won't pass {//I am not sure how to do this test...var list = new ThreadSafeList<string>();//some how need to c...

单元测试 - 相关标签