Tag: unit testing

使用Visual Studio 2012在当前上下文中运行/debuggingtesting

在VS2010中,可以运行或debugging当前上下文中的testing。 点击我刚刚添加或修改的一个testing,然后运行它( Ctrl – R T )或debugging它( Ctrl – R Ctrl – T )。 (或与我的游戏键盘… G1 😉 我可以find运行特定testing的唯一方法是在testing资源pipe理器中find它并从那里运行它。 这需要将我的注意力从我正在处理的代码中移开。 在Visual Studio 2012中是否有与当前上下文等效的东西?

嘲笑一个函数来引发Exception来testing一个except块

我有一个函数( foo )调用另一个函数( bar )。 如果调用bar()会引发一个HttpError ,如果状态码是404,我想特别处理,否则重新提升。 我试图围绕这个foo函数写一些unit testing,嘲笑bar()的调用。 不幸的是,我无法得到bar()的模拟电话来提出一个exception,这个exception被我的except块拦截。 这是我的代码,说明了我的问题: import unittest import mock from apiclient.errors import HttpError class FooTests(unittest.TestCase): @mock.patch('my_tests.bar') def test_foo_shouldReturnResultOfBar_whenBarSucceeds(self, barMock): barMock.return_value = True result = foo() self.assertTrue(result) # passes @mock.patch('my_tests.bar') def test_foo_shouldReturnNone_whenBarRaiseHttpError404(self, barMock): barMock.side_effect = HttpError(mock.Mock(return_value={'status': 404}), 'not found') result = foo() self.assertIsNone(result) # fails, test raises HttpError @mock.patch('my_tests.bar') def […]

如何做数据库unit testing?

我听说在开发使用数据库的应用程序时,你应该做数据库unit testing。 数据库unit testing的最佳实践是什么? 在进行dbunit testing时,主要关心什么?如何做到“正确”?

嘲笑在Android中效果最好的库/框架?

我正在使用第三方库(Twitter4j)开发Android应用程序。 我希望能够在JUnit和functiontesting中模拟这些对象(也是我创build的对象)。 你有什么好的经验,使用一些嘲笑图书馆,你可以推荐他们?

Pythonunit testing中setUpClass和setUp之间的区别

pythonunit testing框架中的setUpClass与setUp之间的区别,为什么不在setUp中设置setUp而不是setUpClass? 我想了解setUp和setUpClass函数以及tearDown和tearDownClass所做的设置的哪一部分。

Moqing Enity框架6.使用DbSet <>包含()

我想提出这个问题的背景。 跳过,如果你喜欢。 相当长一段时间以来,我一直密切关注正在进行的有关testing代码的stackoverflow和其他地方的辩论,因为它涉及到EF。 一个阵营说,由于Linq到Objects&Sql和实现之间的差异,直接针对数据库进行testing。 另一个说嘲笑testing。 另一个意见分歧是使用存储库的问题,或接受DbContext和DbSet已经提供工作单元和存储库模式。 在我使用EF的时候,我已经尝试过这些阵营提供的每一个意见组合。 无论我做了什么,EFcertificate是难以testing。 我非常兴奋地发现EF团队使得DbSet在EF 6中更加可嘲弄。他们还提供了关于如何模拟DbSet的文档 ,包括使用Moq的asynchronous方法。 在参与我最新的涉及Web Api的项目时,我意识到,如果我可以模拟EF,那么我可以跳过编写知识库,因为写这些知识库的正常原因是为了使testing成为可能。 阅读了一些这样的博客文章后,灵感来了… – 背景结束— 实际的问题是,遵循EF小组关于如何使用Moq DbSet的示例代码,如果在任何代码中使用.Include(),则会引发ArgumentNullException。 SO上的其他相关post 这是我的DbContext接口: public interface ITubingForcesDbContext { DbSet<WellEntity> Wells { get; set; } int SaveChanges(); Task<int> SaveChangesAsync(); Task<int> SaveChangesAsync(CancellationToken cancellationToken); } 这是我的控制器处理的主要实体 public class WellEntity { public int Id { get; set; } public DateTime DateUpdated { get; […]

在Java中嘲笑静态块

我对Java的座右铭是“仅仅因为Java有静态块,并不意味着你应该使用它们”。 除了笑话之外,Java中有很多技巧使得testing成为一场噩梦。 我最讨厌的两个是匿名类和静态块。 我们有很多使用静态块的遗留代码,这些都是我们在编写unit testing时的烦人之处。 我们的目标是能够编写unit testing的类,依赖于这个静态初始化与最小的代码更改。 到目前为止,我的同事的build议是将静态块的主体移动到一个私有的静态方法,并将其staticInit 。 这个方法可以在静态块中被调用。 对于unit testing,依赖于这个类的另一个类可以很容易地使用JMockit来嘲弄staticInit而不做任何事情。 我们来看看这个例子。 public class ClassWithStaticInit { static { System.out.println("static initializer."); } } 将被改为 public class ClassWithStaticInit { static { staticInit(); } private static void staticInit() { System.out.println("static initialized."); } } 所以我们可以在JUnit中进行以下操作。 public class DependentClassTest { public static class MockClassWithStaticInit { public static void staticInit() […]

在NUnittesting中使用WPF组件 – 如何使用STA?

我需要在NUnitunit testing中使用一些WPF组件。 我通过ReSharper运行testing,并且在使用WPF对象时失败,出现以下错误: System.InvalidOperationException: 调用线程必须是STA,因为许多UI组件都需要这个。 我已经读过关于这个问题,听起来像线程需要是STA ,但我还没有想出如何做到这一点。 是什么触发了这个问题是下面的代码: [Test] public void MyTest() { var textBox = new TextBox(); textBox.Text = "Some text"; // <– This causes the exception. }

将自定义消息添加到unit testing结果

有没有一种方法可以将自定义消息添加到testing方法的结果? 我想把一个秒表的代码,看看它的运行时间。 我不需要testing它是否在特定的时间范围内运行,只是想在结果窗口中看到经过的时间。

如何为moq中的属性赋值?

我有一个类的方法,返回一个Usertypes的对象 public class CustomMembershipProvider : MembershipProvider { public virtual User GetUser(string username, string password, string email, bool isApproved) { return new User() { Name = username ,Password = EncodePassword(password) ,Email = email ,Status = (isApproved ? UsuarioStatusEnum.Ativo : UsuarioStatusEnum.ConfirmacaoPendente) // … }; } // .. } User是一个域对象。 注意setter的Id属性为protected : public class User : IAuditable, IUser […]