- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只使用了很短一段时间的单元测试。我正在使用 Jython 2.7.10“最终版本”
在解释 TestResult 的 Python 2.7 文档中,它说:
The following methods of the TestResult class are used to maintain the internal data structures, and may be extended in subclasses to support additional reporting requirements. This is particularly useful in building tools which support interactive reporting while tests are being run.
startTest(test) ... stopTest(test) ... startTestRun() ... stopTestRun()¶
这就是我想做的...但我不知道你如何使用 TestResult。这是 SSCCE...
import unittest
class TestResultX( unittest.TestResult ):
def startTest( self, test ):
print( '# blip')
unittest.TestResult.startTest( self, test )
def stopTest( self, test ):
print( '# blop')
unittest.TestResult.stopTest( self, test )
def startTestRun( self ):
print( '# blep')
unittest.TestResult.startTestRun( self )
def stopTestRun( self ):
print( '# blap')
unittest.TestResult.stopTestRun( self )
class TestCaseX( unittest.TestCase ):
def test_nonsense(self):
print( '# wotcha' )
self.assertTrue( False )
def run( self, test_result=None ):
print( '# spoons starting...')
test_result = TestResultX()
unittest.TestCase.run( self, test_result )
print( '# ...spoons ended, tr %s' % ( test_result, ) )
unittest.main()
结果:
# spoons starting...
----------------------------------------------------------------------
Ran 0 tests in 0.015s
OK
# blip
# wotcha
# blop
# ...spoons ended, tr <__main__.TestResultX run=1 errors=0 failures=1>
问题:
0 个测试
?blep
和 blap
(运行开始和结束)?更一般的说明:
有人可以指出一本好的教程/书籍,解释“正确使用”/“良好实践”,当涉及到 TestResult、TestRunner、TestLoader 等时。我得到了“TDD with Python”,但它没有似乎无法解释这一切。
有人可以告诉我为什么似乎经常使用unittest2而不是unittest吗?
附录
在 Omar Diab 努力查看源代码之后,我尝试了以下操作:
def run( self, *args, **kvargs ):
result = self.defaultTestResult()
startTestRun = getattr(result, 'startTestRun', None)
logger.info( '# calling superclass run... startTestRun? %s' % ( startTestRun, ))
unittest.TestCase.run( self, *args, **kvargs )
logger.info( '# ... superclass run ended')
不幸的是,每个 test_XXX 方法都会给出:
# calling superclass run... startTestRun? <bound method TestResult.startTestRun of <unittest.result.TestResult run=0 errors=0 failures=0>>
setUp for test_that_stuff_happened (__main__.xx_FT)
tearDown for test_that_stuff_happened (__main__.xx_FT)
end tearDown...
. # ... superclass run ended
最佳答案
我也遇到了同样的问题,所以我看了一下源代码。
检查unittest.TextTestRunner
和unittest.TestCase
,它看起来像startTestRun()
和stopTestRun()
手动被调用。在 unittest.TextTestRunner
中,它的工作原理如下:
def run(self, test):
# ...
startTestRun = getattr(result, 'startTestRun', None)
if startTestRun is not None:
startTestRun()
# ...
在你的例子中,unittest.TestCase
,就像这样:
def run(self, result=None):
orig_result = result
if result is None:
result = self.defaultTestResult()
startTestRun = getattr(result, 'startTestRun', None)
if startTestRun is not None:
startTestRun()
# ...
所以看起来,如果您不传入 result
,startTestRun
实际上只会被 TestCase.run()
调用。您正在传递结果
,因此它不会发生。
这对我来说似乎是一个错误!但基本上这意味着您可以扩展 TestCase 或 TestSuite,重新实现 run 方法,然后手动调用这些方法;或者只是在相应的 run
方法之外调用它们。
希望这有帮助!
关于python - 如何使用unittest.TestResult?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32920025/
我只使用了很短一段时间的单元测试。我正在使用 Jython 2.7.10“最终版本” 在解释 TestResult 的 Python 2.7 文档中,它说: The following methods
我有一组单元测试,每个测试都有一堆方法,每个方法都会在 TestResults 文件夹中生成输出。目前,所有测试文件都混杂在这个文件夹中,但我想给困惑带来一些秩序。 理想情况下,我希望每个测试方法都有
我在 jmeter 中做了一些测试,它生成以下格式的 xml 报告 ` 我在 mysql 中创建了一个名为 testResult 的表,其中包含 t、lt、ts、s、lb...等列。 我想知
我有一些运行大量测试的单元测试代码。以前,当运行每个测试时,一些信息会打印到标准输出。如果测试失败,此信息将极大地帮助调试。现在我想编写一个更复杂的程序来调用 unittest 并以编程方式捕获测试结
我在我的 Visual Studio 中遇到了这种异常行为,我的测试二进制文件 (mytestsolution.dll) 和在引用中添加的依赖二进制文件突然从我的 Bin 文件夹中复制到 TestRe
我正在使用 org.junit.runner.JUnitCore 类从我的 java 应用程序内部运行测试。我添加了实现 org.junit.runner.notification.RunListen
我的 TestSuite 在使用 ant 目标构建期间运行。 我想在我的套件中访问 TestResult 并在测试成功与否时执行一些操作。 有没有办法在拆卸方法中检索对象? 谢谢 最佳答案 使用 jU
运行构建脚本后,我正在运行 nunit-console 程序来测试一些程序集。然后将 TestResult.xml 复制到静态 Web 服务器。 我正在寻找一种工具,可以将 xml 输出格式化为一个漂
在Python单元测试框架中,我们希望在每个测试用例之后进行一些检查。无论成功与否,如果不成功,我们都想采取一些行动。 我正在尝试探索Unittest.TestResult.wasSuccessful
当我尝试在新的 Rails 项目中运行规范或生成器时,我在 subj 中遇到错误。 当我添加 shoulda 时会发生这种情况。 我在 config/environment.rb 中添加了以下内容:
我希望能够向单元测试添加“消息”,使其实际出现在 NUnit 生成的 TestResult.xml 文件中。例如,这是当前生成的: 我希望能够有一个额外的属性(或节点视情况而定),例如:
我的所有单元测试项目都在我的解决方案文件夹下的一个文件夹中,并且希望将 TestResults 文件夹与测试项目位于同一文件夹中,而不是在解决方案目录中。 我发现这可以通过测试设置文件来完成: How
自 Xcode 11 以来,自动测试(单元测试或 UITests)生成的输出文件已变为 .xcresult(请参见下面的屏幕截图)。 在 Xcode 11 之前,在 test 文件夹中创建了一个 Te
我试图在我的构建服务器上运行以下命令, c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions
我正在发送一个查询来检查是否有与测试用例关联的测试用例结果。我正在使用这个: QueryRequest c = new QueryRequest("testcaseresult");
我是 visual studio 的新手。我有 visual studio community 2015。 我想做的是在使用 MSTest 的单元测试中输出特定数据时,我想将输出保存到文件中。 我已经
我是一名优秀的程序员,十分优秀!