Tag: unit testing

如何在ASP.Net MVC模拟控制器上的请求?

我有一个控制器在C#使用ASP.Net MVC框架 public class HomeController:Controller{ public ActionResult Index() { if (Request.IsAjaxRequest()) { //do some ajaxy stuff } return View("Index"); } } 我有一些嘲讽的技巧,并希望用以下和RhinoMockstesting代码 var mocks = new MockRepository(); var mockedhttpContext = mocks.DynamicMock<HttpContextBase>(); var mockedHttpRequest = mocks.DynamicMock<HttpRequestBase>(); SetupResult.For(mockedhttpContext.Request).Return(mockedHttpRequest); var controller = new HomeController(); controller.ControllerContext = new ControllerContext(mockedhttpContext, new RouteData(), controller); var result = controller.Index() as ViewResult; Assert.AreEqual("About", […]

ASP.NET MVC3和entity framework代码第一架构

我以前的问题让我再次想到层,存储库,dependency injection和像这样的架构。 我的架构现在看起来像这样: 我首先使用EF代码,所以我只是创build了POCO类和上下文。 这创build了数据库和模型。 级别更高的是业务层类(提供者)。 我为每个域使用不同的提供程序…像MemberProvider,RoleProvider,TaskProvider等,我在这些提供程序中的每个提供了我的DbContext的新实例。 然后我在我的控制器中实例化这些提供程序,获取数据并将它们发送到Views。 我最初的架构包括仓库,我摆脱了,因为我被告知这只是增加了复杂性,所以为什么我不只是使用EF。 我想这样做..直接从控制器使用EF,但是我必须编写testing,这与真实的数据库有点复杂。 我不得不假冒 – 莫名其妙的数据。 所以我为每个提供者做了一个接口,并用列表中的硬编码数据做了伪造的提供者。 这样我就回到了一些东西,我不知道如何正确地进行。 这些事情开始太复杂了……许多方法和“pat”“……它创造了太多的噪音和无用的代码。 有entity framework创build和ASP.NET MVC3应用程序的任何简单和可testing的架构?

unit testing和集成testing有什么区别?

unit testing和集成testing有什么区别? 这些testing有不同的名字吗? 像一些人调用unit testingfunctiontesting等?

unit testing命名最佳实践

命名unit testing类和testing方法的最佳实践是什么? 这在前面讨论过,在unit testing的一些stream行的命名约定是什么? 我不知道这是否是一个非常好的方法,但是目前在我的testing项目中,我在每个生产类和一个testing类(例如Product和ProductTest之间都有一对一的映射关系。 然后在我的testing类中,我使用方法的名称,我正在testing的方法,一个下划线,然后情况和我期望发生,例如Save_ShouldThrowExceptionWithNullName() 。

什么是unit testing,集成testing,烟雾testing,回归testing?

什么是unit testing,集成testing,烟雾testing,回归testing,它们之间有什么区别? 我可以使用哪些工具为他们每个人? 例如,我使用JUnit和NUnit进行unit testing和集成testing。 有没有烟testing或回归testing工具?

双值的assertEquals的epsilon参数的含义

我有一个关于junit assertEqualstestingdouble值的问题。 阅读API文档我可以看到: @Deprecated public static void assertEquals(double expected, double actual) 已过时。 使用assertEquals(double expected,double actual,double epsilon)来代替 epsilon的价值是什么意思? (Epsilon是希腊字母中的一个字母,对吧?)。 有人可以向我解释如何使用它?

unit testing:DateTime.Now

我有一些unit testing,预计“当前时间”不同于DateTime.Now,我不想改变计算机的时间,显然。 什么是实现这一目标的最佳策略? 谢谢

用Moq嘲笑扩展方法

我有一个预先存在的接口… public interface ISomeInterface { void SomeMethod(); } 我已经扩展了这个内置使用混合… public static class SomeInterfaceExtensions { public static void AnotherMethod(this ISomeInterface someInterface) { // Implementation here } } 我有一个这样的调用这个我想testing的类… public class Caller { private readonly ISomeInterface someInterface; public Caller(ISomeInterface someInterface) { this.someInterface = someInterface; } public void Main() { someInterface.AnotherMethod(); } } 和一个testing,我想嘲笑接口,并validation扩展方法的调用… [Test] public void Main_BasicCall_CallsAnotherMethod() […]

在JavaScript中嘲笑useragent?

我正在寻找一种方法来编程方式更改navigator.userAgent上飞。 在我失败的尝试获得一个自动化的JavaScriptunit testing,我放弃了,并试图开始使用fireunit。 马上,我抨击了使用真正的浏览器进行javascripttesting的一面墙壁。 具体来说,我需要更改navigator.userAgent来模拟几百个userAgentstring,以确保对给定函数进行正确的检测和覆盖。 navigator.userAgent是只读的,所以我似乎卡住了! 我怎样才能模拟navigator.userAgent? 用户代理切换器(插件)可以切换FF的useragent,但我可以在JavaScript内做到这一点?

你如何嘲笑C#中的文件系统进行unit testing?

是否有任何图书馆或方法来嘲笑C#中的文件系统编写unit testing? 在我目前的情况下,我有检查某些文件是否存在并读取创builddate的方法。 将来我可能需要更多。