当前位置: 首页 > 面试题库 >

有没有办法在TestCase之外使用Python单元测试断言?

计向晨
2023-03-14
问题内容

我需要创建一个伪的帮助程序类以用于单元测试(注入到测试的类中)。有没有办法在此类中使用TestCase断言?

我想将这些断言用于Fake类执行的一些常见检查。就像是:

class FakeFoo(object):

  def do_foo(self, a, b):
    assertNotNull(a)
    ...

问题答案:

您可以创建的实例unittest.TestCase()并在其上调用方法。

import unittest

tc = unittest.TestCase()
tc.assertIsNotNone(a)

在较旧的Python版本(Python 2.7和更早的版本3.0、3.1)上,您需要在类类中传递 现有
方法的名称TestCase(通常在子类上传递测试方法的名称)。__init__在这种情况下将:

tc = unittest.TestCase('__init__')
tc.assertIsNotNone(a)

但是,您可能正在寻找一个好的Mock库。mock将是一个不错的选择。

另一种选择是使用pytest,它可以增强assert语句以提供与unittest.TestCase()断言方法相同或更多的上下文;你只需写信assert a is not None



 类似资料:
  • 问题内容: 我想在Python中使用PhantomJS。我用谷歌搜索了这个问题,但是找不到合适的解决方案。 我发现 可能是一个不错的选择。但是我无法通过一些争论。 使用可能是目前合适的解决方案。我想知道是否有更好的解决方案。 有没有办法在Python中使用PhantomJS? 问题答案: 在python中使用PhantomJS的最简单方法是通过Selenium。最简单的安装方法是 安装NodeJS

  • 我想在Python中使用PhantomJS。我谷歌了这个问题,但找不到合适的解决方案。 我发现可能是一个不错的选择。但我无法向它传递一些论据。 使用目前可能是一个合适的解决方案。我想知道是否有更好的解决办法。 有没有办法在Python中使用PhantomJS?

  • 我正在尝试按如下方式对Mapstruct嵌套映射器进行单元测试: 我正在尝试测试EventMapper: 但它在以下方面不断失败: 创建名为“eventMapper”的bean时出错:bean的实例化失败;嵌套的异常是org。springframework。豆。BeanInstationException:未能实例化[com.mycompany.cna.projects.fishmarket.ba

  • 因为这个方法是在运行时执行的,所以需要对它进行测试吗

  • 问题内容: 假设我在Python单元测试中具有以下代码: 有没有一种简单的方法可以断言在测试的第二行期间调用了特定方法(在我的情况下)?例如是否有这样的事情: 问题答案: 我为此使用Mock(在py3.3 +上现在是unittest.mock): 对于您的情况,它可能看起来像这样: Mock支持许多有用的功能,包括修补对象或模块的方式以及检查是否调用了正确的东西等。 买者自负! (请当心!) 如果

  • 我对TDD和JUnit有些陌生,我知道我可以为我在代码中实现的方法编写测试用例。 显然,我的代码中有一些方法需要测试几个角落案例来验证方法实现是否正常。由于通常良好的做法是在代码中保持每个方法一个测试方法,因此我必须为这种方法添加多个断言,如本答案所述。https://stackoverflow.com/a/762582/5715934 但是,当我执行测试用例时,我没有获得测试方法中每个断言的测试