我试图通过使用Selenium
从django视图直接运行功能测试(在python / django中使用management.call_command
),以便允许用户从网站运行测试。 django视图类似于:
class MyView():
def get(self):
output = call_command('test', 'folder.tests.MyTest')
# doing ./manage.py test folder.tests.MyTest
test_result = 'Test result: ' + output
return something_http_with_test_result
为了不影响当前用户数据,最好的方法是什么? MyTest将在数据库中创建很多对象,但用户不得看到它们。
谢谢
答案 0 :(得分:0)
我发现正确运行它的最好方法是使用os.system:
import os
dir = 'your_absolute_path_to_project'
class MyView:
def some_func_called():
os.system(dir + '/manage.py test >' + dir + '/log.txt')
该项目和Firefox必须具有相同的所有者,结果将保存在log.txt中。