Tag: unit testing

如何使用angular度平移进行unit testing

我从这里使用angular度翻译( http://pascalprecht.github.io/angular-translate/ ),它只是工作正常,但它打破了我的控制器的unit testingwhith错误: Unexpected request: GET scripts/i18n/locale-en.json 我不明白为什么? 我使用自我testing和业力。 app.js: 'use strict'; (function() { angular.module('wbApp', ['authService', 'authUserService', 'checkUserDirective', 'ui.bootstrap', 'pascalprecht.translate']) .config(function($routeProvider) { $routeProvider .when('/', { templateUrl: 'views/login.html', controller: 'LoginCtrl', access: { isFree: true } }) .when('/main', { templateUrl: 'views/main.html', controller: 'MainCtrl', access: { isFree: false } }) .otherwise({ redirectTo: '/' }); }); })(); configTranslate.js: […]

为一个接口的多个实现编写一个unit testing

我有一个接口List其实现包括单链接列表,双向,循环等。我为Singly编写的unit testing应该对双向以及循环和其他任何新的接口实现中的大部分都有好处。 因此,不要为每个实现重复unit testing,JUnit是否提供了一些内置的东西,让我有一个JUnittesting,并针对不同的实现运行它? 使用JUnit参数化testing我可以提供不同的实现,如Singly,double,circular等,但是对于每个实现,同一个对象用于执行类中的所有testing。

Unittest(有时)因为浮点不精确而失败

我有一个Vector类,它代表了三维空间中的一个点。 这个向量有一个方法normalize(self, length = 1) ,它将向量向下/向上缩放为length == vec.normalize(length).length 。 由于浮点数的不精确性,此方法的unit testing有时会失败。 我的问题是,当方法正确实现时,如何确保这个testing不会失败? 有没有可能做到这一点没有testing一个近似值? 附加信息 : def testNormalize(self): vec = Vector(random.random(), random.random(), random.random()) self.assertEqual(vec.normalize(5).length, 5) 这有时会导致AssertionError: 4.999999999999999 != 5或AssertionError: 5.000000000000001 != 5 。 注意 :我知道浮点问题可能在Vector.length属性或Vector.normalize() 。

如何在Jasmine间谍上多次调用不同的返回值

说我正在监视这样一个方法: spyOn(util, "foo").andReturn(true); 被testing的函数多次调用util.foo 。 第一次被调用的时候间谍是否可以返回true ,但第二次返回false ? 还是有不同的方式去呢?

你应该unit testing简单的属性?

你应该unit testing一个类的简单属性,声明一个值被设置和检索? 或者,这真的只是unit testing语言? 例 public string ConnectionString { get; set; } testing public void TestConnectionString() { var c = new MyClass(); c.ConnectionString = "value"; Assert.Equal(c.ConnectionString, "value"); } 我想我没有看到那个价值。

事实之后,Pro和Con的unit testing

我有一个大约27K线大复杂的应用程序。 它本质上是一个驱动multithreading处理引擎的驱动程序,没有太多的脱离,它已经部分testing,因为它已经build成,某些组件。 我有问题,事后可以做unit testing的亲和做什么,可以这么说呢,是在执行之后。 很明显,传统的testing需要2-3个多月的时间来testing每一个方面,这一切都需要工作,而这个时间是不可能的。 过去,我已经做了相当多的unit testing,但一般都是在桌面自动化或LOB应用程序上进行的,这很简单。 该应用程序本身是内部高度组件化,真正的接口驱动。 我还没有决定使用什么特定的框架。 任何意见,将不胜感激。 什么说你。

如何使用moq模拟Controller.User

我有几个ActionMethods查询Controller.User的angular色是这样的 bool isAdmin = User.IsInRole("admin"); 在这种情况下方便地行事。 我开始用这样的代码对这些方法进行testing [TestMethod] public void HomeController_Index_Should_Return_Non_Null_ViewPage() { HomeController controller = new HomePostController(); ActionResult index = controller.Index(); Assert.IsNotNull(index); } 并且该testing失败,因为Controller.User未设置。 任何想法?

我怎样才能testing预期exception与Visual Studiotesting中的资源文件中的特定exception消息?

Visual Studio Test可以使用ExpectedException属性检查预期的exception。 你可以传入这样的exception: [TestMethod] [ExpectedException(typeof(CriticalException))] public void GetOrganisation_MultipleOrganisations_ThrowsException() 您也可以像这样检查ExpectedException中包含的消息: [TestMethod] [ExpectedException(typeof(CriticalException), "An error occured")] public void GetOrganisation_MultipleOrganisations_ThrowsException() 但是在testingI18N应用程序时,我会使用资源文件来获取错误消息(如果需要,甚至可能决定testing错误消息的不同本地化版本,但Visual Studio不会让我这样做: [TestMethod] [ExpectedException(typeof(CriticalException), MyRes.MultipleOrganisationsNotAllowed)] public void GetOrganisation_MultipleOrganisations_ThrowsException() 编译器会出现以下错误: 一个属性参数必须是一个常量expression式,一个属性的typeofexpression式或数组创buildexpression式 有谁知道如何testing从资源文件中有消息的exception? 我考虑的一个select是使用自定义的exception类,但基于经常听到的build议,如: “如果你有一个错误条件,可以以不同于其他现有的exception的方式进行编程处理,那么就创build并抛出自定义的exception,否则就抛出一个现有的exception。 资源 我不希望在正常stream程中以不同的方式处理exception(这是一个严重的例外,所以我会进入恐慌模式),我不认为为每个testing用例创build例外是正确的。 有什么意见?

运行unit testing时如何获取目录

嗨,当运行我的unit testing我想获得我的项目运行目录来检索文件。 说我有一个名为MyProject的testing项目。 testing我运行: AppDomain.CurrentDomain.SetupInformation.ApplicationBase 并收到"C:\\Source\\MyProject.Test\\bin\\Debug" 。 这接近我所追求的。 我不想要bin\\Debug部分。 任何人都知道如何才能得到"C:\\Source\\MyProject.Test\\" ?

用OCUnit进行unit testing的例子

我真的很难理解unit testing。 我明白TDD的重要性,但是我所读到的所有unit testing的例子都是非常简单和微不足道的。 例如,testing以确保属性已设置或内存分配给数组。 为什么? 如果我编码出来了..alloc] init] ,我真的需要确保它的工作? 我是新来的开发人员,所以我相信我在这里错过了一些东西,特别是围绕着TDD的所有热潮。 我认为我的主要问题是我找不到任何实际的例子。 这里是一个setReminderId方法,似乎是一个很好的候选人testing。 什么有用的unit testing看起来像确保这是工作? (使用OCUnit) – (NSNumber *)setReminderId: (NSDictionary *)reminderData { NSNumber *currentReminderId = [[NSUserDefaults standardUserDefaults] objectForKey:@"currentReminderId"]; if (currentReminderId) { // Increment the last reminderId currentReminderId = @(currentReminderId.intValue + 1); } else { // Set to 0 if it doesn't already exist currentReminderId = @0; […]