我正在尝试在 Python 中找到与 Qunit 断言类似的方法。在 Qunit 中使用断言时,message 参数以非常具有描述性的方式使用。
test( "test", function() {
ok( fn([])==None, "Function should return 0 if no users" );
ok( fn(["Test User"])==1, "Function should return 1 is users supplied" );
});
另一方面,Python 的 unittest 模块使用 message 参数是一个更负面的上下文。这些仅在断言失败时显示。
class TestSequenceFunctions(unittest.TestCase):
def test_choice(self):
seq = range(10)
element = random.choice(seq)
self.assertTrue(element in seq, msg="Element not found in sequence")
Qunit 的最终结果是有更清晰的成绩单,可以与规范文档进行比较。
我意识到在 Python 中,类似的方法可能会通过写作来实现
def test_choice_ensure_element_exists_in_sequence(self):
不过不一样。输出没有以很好的方式呈现,然后测试生命周期为您要使用的每个标签执行设置和拆卸,这不一定是您想要的。
可能有一个图书馆采用这种方法,所以也许这个问题已经解决了。不过,python unittest 库或 pytest 似乎都不能以这种方式工作。