【c# – 在TDD中创建测试数据的最佳位置在哪里?】教程文章相关的互联网学习教程文章

c#-ASMX Web服务,测试表仅在本地计算机上仅适用于一种WebMethod【代码】

我有一个正在测试的ASMX WebService,在大多数方法上,我都可以使用测试表单进行测试.但是,我确实有一种测试表格可以说明的方法:The test form is only available for requests from the local machine.此方法的声明方式与其他方法完全相同,但是它的参数列表明显更长(大多数方法仅具有2或3个参数):[WebMethod]public ActionSuccessResponse makeDestinationRequest(String ownerID, String destinationRegion, String destinationC...

c#-如何在m​​vc3中使用razor语法测试视图?【代码】

我正在编写代码以测试C#MVC3应用程序.我可以测试控制器,但是如何测试视图中的代码?这包括javascript和剃刀样式的代码. 有没有可用的工具可以模拟视图或测试视图以及C#中的javascript?解决方法:以下是关于测试视图的渲染输出的信息.例如,可以将文本输出加载到DOM中,以使用XPath进行进一步分析(对于XHTML使用XmlReader或对于SGML样式HTML使用HtmlAgilityPack).使用一些不错的帮助程序方法,可以轻松检查视图的特定部分,例如测试// a...

测试Outlook是否通过C#异常处理安装【代码】

我的应用程序中有一个部分,允许人们发送生成的文本的电子邮件.我当前的问题是,当用户使用文本加载表单时,如果用户未安装Outlook,它将引发未处理的异常System.IO.FileNotFound.关于表单的负载,我尝试确定是否已安装Outlook.try{//Assembly _out = Assembly.Load("Microsoft.Office.Interop.Outlook");Assembly _out = Assembly.Load("Microsoft.Office.Interop.Outlook, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce...

c#-TDD和小团队短期项目的单元测试?

对于由最多4人的小型团队完成的小型和短期项目,TDD是否是一种好的方法?这真的是一项有利可图的努力吗? 那单元测试呢? TDD包含单元测试,但没有相反的含义.在项目开发生命周期中不时进行单元测试是否足够,直到合理的代码覆盖率为止?解决方法:对我而言,这并不能归结为项目是小还是短.正确完成的TDD是关于能够快速运行一组对代码完全有信心的测试.关于TDD的文章也很多,也有助于推动针对项目的适当设计. 因此,您可能会认为TDD在小型...

C#-测试闭包【代码】

我有一个非常简单的方法要测试. _interactionService会弹出一个对话框,询问用户有关删除客户的确认.如果在框中单击相应的按钮,则会调用提供的操作.该操作可操纵上下文并保存更改.保存完成后,将调用另一个操作.private void Delete(object entity) {_interactionService.ShowConfirmationBox("Delete?", "Are you sure you want to delete this customer?", () =>{Customer customer = entity as Customer;Context.Attach(customer)...

C#-单元测试自定义角色提供程序【代码】

我正在尝试使用自定义角色提供程序方法.每个测试都是独立的,这意味着它独立于其他测试,并且在每个测试中我都创建了测试用户,测试角色等.很好,我知道其他方法,但是适合此目的. 所以,我在努力与can_get_roles_for_user,这是代码[Test] public void can_get_roles_for_user() {MembershipCreateStatus status = new MembershipCreateStatus();provider.CreateUser("testuser", "password", "testuseremail@google.com", "question", "...

c#-使用Webinator Selenium,SpecFlow和NUnit进行多个浏览器测试【代码】

我正在使用Selenium驱动程序使用WebinatorSpecFlow NUnit开发ASP.NET MVC 3应用程序.我在使用Chrome(使用chromedriver)和Internet Explorer运行并行测试时遇到问题. 每当我在Web Session中通过Selenium通过Webinator在同一个会话中同时运行两个测试时,当我向该页面发送任何点击动作时,IE似乎都会挂起. 我无法使用建议的解决方案here,因为SpecFlow会自动生成底层的C#代码.我的解决方案的设计类似于this(完整代码可作为要点):_multi...

C#用Call代替CallVirt之后的测试用例【代码】【图】

一. C# 原始代码和直接结果 测试 C# 代码:class Program {static void Main(string[] args){A c1 = new C();c1.Foo();C c2 = new C();c2.Foo();Console.ReadKey();} } class A {public virtual void Foo(){Console.WriteLine("Call on A.Foo()");} } class B : A {public override void Foo(){Console.WriteLine("Call on B.Foo()");} } class C : B {public new void Foo(){Console.WriteLine("Call on C.Foo()");} }运行结果:二...

C#-使用CodeDui进行跨浏览器测试?【代码】

我在使用codedui进行跨浏览器测试时遇到问题.使用以下代码,Process.Start("firefox", url); BrowserWindow.CurrentBrowser = "firefox"; Browser = BrowserWindow.Launch(new System.Uri(url)); Keyboard.SendKeys("^{0}");所有代码都在IE中开发.但是现在我必须在Firefox或chrome中执行代码.我将在forefox中执行代码.我在这里使用此代码Browser = BrowserWindow.Launch(new System.Uri(url));在此行中出现诸如“连接Firefox时发生错...

C#-使用Excel工作簿进行单元测试

我开始更多地进行单元测试.我有一个项目,其中Excel是“引擎”,因此无法将其取出(目前).我需要为工作簿提供各种输入,在工作簿中运行一个宏,然后收集结果.这是一本令人讨厌的工作簿,因此,从中删除任何内容都不是一个选择. 因此,鉴于主要依赖项是Excel.Interop对象,如何设置几乎所有代码都在Excel中运行的单元测试?解决方法:从理论上讲,“单元测试”应尽可能少地进行测试,并尽可能多地模拟依赖项.使用Excel,即使不是不可能,也可能会非...

c#-如果测试方法失败,如何使构建失败?

我的参考是这个http://msdn.microsoft.com/de-de/library/ms182532.aspx 使用Visual Studio.可以说有一个Solution Project.SuperApp,其中包含一些项目和一个单元测试项目.如果要运行测试,我首先必须构建解决方案,然后从Test-Explorer运行所有测试.即使一项测试失败,该软件也已经构建并可以部署.对我来说这似乎是一个错误. 如果要构建/打包软件组件,请使用Maven等其他工具,首先执行测试.如果一项测试失败,则即使编译该软件组件也不会...

使用C#的保护级别和Visual Studio单元测试

我正在为正在处理的C#项目设置一些单元测试,因此我选择使用Visual Studio的内置单元测试项目.问题是我一直在为项目中的大多数类提供默认的内部访问级别.现在,我的单元测试项目无法访问它们,因为它是一个不同的程序集. 只公开我在项目中的所有类,以便单元测试项目可以访问它们,这是微不足道的,但是保留仅由项目内部在内部使用的类不是习惯吗?解决方法:您可以使内部对测试项目可见-有关更多信息,请参见here

c#-使用Linq表达式和Lambdas测试的存根代码【代码】

我的代码中有执行以下操作的查询表达式:repository.Context.AsQueryable<Option>().Where(o => o.Id == id && o.Name == "Something").Select(o => o.Id).ToArray();如何为上述代码创建存根?似乎需要做很多工作.无论如何,在哪里我可以简单地忽略传递给Where和Select方法的内容,然后返回想要返回的内容? 我实际上并不关心Where和Select方法中传递的内容.我只想最后返回我的项目的硬编码列表.解决方法:作为一种选择,将您的代码用作...

C#-Akka.net和单元测试【代码】

我想使用Akka.net TestKit编写单元测试,但是我有一个问题.我有一个SubscriptionService类,负责将消息传输到选定的参与者.public class SubscriptionService : ReceiveActor {private readonly ActorSelection service1;private readonly ActorSelection service2;public SubscriptionService(){this.service1 = Context.ActorSelection("Service1");this.service2 = Context.ActorSelection("Service2");this.Receive<RequestMessa...

C#-等待IO的可重用测试代码【代码】

我正在尝试在WCF公开的方法/服务上使用async / await.一切正常,但我想模拟实际等待IO的服务方法,以便将服务调用注册到IO完成端口,并将线程放回线程池中. 为了澄清,我只是在尝试确认IO完成端口的使用,并更好地了解实际情况. 所以例如我的测试服务当前如下所示:[ServiceContract] public interface IHelloWorldService {[OperationContract]Task<string> SayHello(string firstName, string lastName); }public class HelloWorldSer...