相关疑难解决方法(0)

单元测试setUp/tearDown进行多次测试

是否有一个在测试场景的开头/结尾触发的函数?函数setUp和tearDown在每次测试之前/之后触发.

我通常想拥有这个:

class TestSequenceFunctions(unittest.TestCase):

    def setUpScenario(self):
        start() #launched at the beginning, once

    def test_choice(self):
        element = random.choice(self.seq)
        self.assertTrue(element in self.seq)

    def test_sample(self):
        with self.assertRaises(ValueError):
            random.sample(self.seq, 20)
        for element in random.sample(self.seq, 5):
            self.assertTrue(element in self.seq)

    def tearDownScenario(self):
        end() #launched at the end, once
Run Code Online (Sandbox Code Playgroud)

现在,这些setUp和tearDown是单元测试并在我的所有场景中传播(包含许多测试),一个是第一个测试,另一个是最后一个测试.

python unit-testing

107
推荐指数
3
解决办法
7万
查看次数

如何在(django)开发环境中测试500.html?

我正在使用Django进行项目,并且已经投入生产.

在生产环境中,每当发生服务器错误时都会呈现500.html.

如何在开发环境中测试500.html的渲染?或者我如何在开发中渲染500.html,如果我关闭调试我仍然得到错误而不是500.html

背景:我包含一些基于页面的页面元素,有些在调用500.html时丢失,并且想要在开发环境中调试它.

django development-environment

46
推荐指数
6
解决办法
1万
查看次数

检测django测试模式

我正在编写一个可重复使用的django应用程序,我需要确保它的模型仅在应用程序处于测试模式时同步.我曾尝试使用自定义DjangoTestRunner,但我没有找到如何做到这一点的示例(文档仅显示如何定义自定义测试运行器).

那么,有没有人知道如何做到这一点?

编辑

我是这样做的:

#in settings.py
import sys
TEST = 'test' in sys.argv
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.

django unit-testing django-testing

45
推荐指数
4
解决办法
1万
查看次数

在django测试运行期间避免在404上发出警告?

刚升级到Django 1.3.我每次检查给定的URL是404时,我的测试套件现在都会显示一堆无用的警告.它在Django 1.2下没有这样做.

例如,假设我们有连接的视图和URL,以便此测试通过:

def test_foo(self):
    response = self.client.get('/foo/bar/')
    self.assertEqual(response.status_code, 200)
    response = self.client.get('/foo/bar2/')
    self.assertEqual(response.status_code, 404)
Run Code Online (Sandbox Code Playgroud)

虽然测试通过,但404(我们期望)会触发对控制台的警告:

.WARNING not Found:/ foo/bar2 /

这只是无用的噪音; 我目前的一个测试套件中有大约30个.

有没有办法在测试期间让那些人沉默?我想在正常操作期间让它们保持开启状态.而且我认为我不想过滤掉'django.request'记录器中的所有警告.

testing django logging http-status-code-404

13
推荐指数
3
解决办法
2071
查看次数