相关疑难解决方法(0)

如何指定Django Tests使用的数据库而不是每次都构建它?

我希望能够使用现有的测试数据库来运行我的测试,并且每次我想运行测试时都不会让Django创建和删除数据库.这可能吗?

python django unit-testing

14
推荐指数
2
解决办法
7678
查看次数

测试 Django 视图时出现断言错误

这是我在下面提到的 views.py 的测试功能:

def test_operation_page(self):
    url = reverse('operation')
    response = self.client.get(url)
    self.assertEqual(response.status_code, 200)
    self.assertTemplateUsed(response, 'abc.html')
    self.assertContains(response, '<b>BOOK id having certain title:</b>')
Run Code Online (Sandbox Code Playgroud)

这是我在测试视图时遇到的错误

断言错误:SimpleTestCase 子类中不允许对“默认”的数据库查询。子类化 TestCase 或 TransactionTestCase 以确保正确的测试隔离或将“默认”添加到 home.tests.TestViews.databases 以消除此故障。

这是我的views.py

def operation(request):
    queryset=Mytable.objects.filter(title="The Diary of Virginia Woolf  Volume Five: 1936-1941").values('bookid')
    textset=list(Mytable.objects.order_by('-bookid').values('title'))
    context={

    'key1' : queryset, 
    'key2' : textset
    }
    return render(request,'abc.html',context)
Run Code Online (Sandbox Code Playgroud)

这是我的 urls.py

urlpatterns = [
path('admin/', admin.site.urls),
path('',v.index,name='index'),
path('abc/',v.operation,name='operation')
Run Code Online (Sandbox Code Playgroud)

]

django django-views django-testing django-tests

5
推荐指数
2
解决办法
4453
查看次数