- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 Django 和测试的新手,所以请多多包涵。
尝试在终端上运行我在 Django 项目中开发的代码的新测试,但不幸的是我继承了几个测试失败(已经通过分析我之前的提交确认)。我正在尝试运行/修复我的测试/代码。不修复所有失败的测试(至少现在不是)。今天我们通过在主项目文件夹中运行 tox
来运行测试,tox 最终调用 py.test
,使用不同的数据库(在开发/生产中我们使用 Postgresql ,但对于测试,我们使用 SQLite)。这是tox.ini
配置
[tox]
envlist = unit
skipsdist = True
[testenv:unit]
deps = -rrequirements/test.txt
commands =
bash -c 'TESTING_DB=db.sqlite3 python manage.py initdb --settings telessaude.settings.test'
py.test -n 4
passenv = *
setenv =
DJANGO_SETTINGS_MODULE=telessaude.settings.test
whitelist_externals =
/bin/bash
[flake8]
max-line-length = 110
[pytest]
setenv=
DJANGO_SETTINGS_MODULE=telessaude.settings.test
python_files = **/tests.py **/tests/*.py **/tests.py
norecursedirs = requirements .tox media
这是我的测试,位于 ~/project_name/servicos/tests.py
# encoding: utf-8
from fluxos.tests import BaseFluxoTestCase
from core.tests import BaseTestCase
from servicos.models import Estomatologia
class EstomatologiaTestCase(BaseTestCase):
def testa_formata_campos(self):
estomato = Estomatologia()
return_value = estomato.formata_campos()
self.assertEquals(return_value['comorbidades_paciente'], '')
...
我应该如何处理 tox 或 py.test 来运行这个新创建的测试?谢谢!
更新 1:不幸的是,建议的答案没有用。当我按照 phd 和 Windsooon 的建议运行单个测试时,tox 似乎没有运行任何测试。我编写了一个失败的测试(故意),当我使用 tox
命令运行所有测试时,错误显示:
def test_formata_campos_para_estomatologia(self):
estomatologia = Estomatologia()
retorno = formata_campos(estomatologia)
> self.assertIn('objetivos', retorno) E AssertionError: 'objetivos' not found in {'comorbidades_paciente': '', 'tempo_transcorrido': '', 'sinais_e_sintomas_locais': ''}
但是当我只单独运行测试时,测试通过了!我得到这个结果:
tox -e py27 -- servicos.tests:FormatacaoDeCamposTestCase.test_formata_campos_para_estomatologia
py27 installed:
py27 runtests: PYTHONHASHSEED='3025337440'
______________________________________________________________ summary ______________________________________________________________
py27: commands succeeded
congratulations :)
在互联网上搜索,我发现我必须有 {posargs}
否则 tox 将忽略我提供给它的任何内容。但是,只有我的命令的第二行会使用它。第一行将测试数据库设置为 SQLite(用于测试的更快的数据库集)。这可能是 tox 上的错误吗?关于如何解决这个问题的任何想法?
更新 2:@phd 的答案是最接近的,但我必须调整一些东西:
最终命令如下所示:
tox -- folder1/folder2/file_name.py::ClassName::test_method_name
最佳答案
您应该准备 tox.ini 以接受命令行参数并将它们传递给 pytest:
[testenv:…]
commands =
py.test -n 4 {posargs}
之后您可以传递尽可能少或尽可能多的参数:
tox -e $TOXENV -- test1.py test2.py…
关于Python tox 和 py.test : how to run just a single test rather than the whole test suite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929158/
运行下面的 junit 会引发异常。 import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit
我想用 JUnit 4 启动一些 Suite 类,使用另一个 Suite 类。我有一个包的以下测试套件: package com.manuel.package1; import org.junit.r
我在另一个包中有一个数组列表,如下所示: String [ ] classes= {"SuiteTest1", "SuiteTest2"} 如何获取这些类并设置@SuiteClasses({})? p
我想学习 Spring 。在 STS(Spring Tool Suite)3 的情况下,有“Spring legacy Project”。 4 有一个“Spring Starter Project”,
正在尝试在客户端和服务器之间建立 SSL 连接。但每当我尝试从客户端连接时,我的服务器上都会收到 javax.net.ssl.SSLHandshakeException: no cipher suit
我正在使用全新安装的 STS 3.8.3,但无法将 JPA 方面添加到 EJB 项目: 如果我尝试创建 JPA 项目,则找不到该选项: 我确信这些曾经在 STS 中可用。我错过了什么? 最佳答案 我们
所以我一直在尝试使用我的手机通过 burp 获取请求/SSL。基本上我多次非常仔细地遵循这些步骤: Configuring your Browser to work with Burp Configu
任何机构都在他们的商店中使用 Talend SOA Suite。 如果我没记错的话,它与 Oracle SOA Suite 和 Service Bus 相比如何,因为这两个产品都实现了 EIP 模式?
我试图改变 Pivotal tc Server Developer 3.0 版的日志记录,我发现启动服务器的 java 进程从不读取 catalina base 中的 logging.properti
让我们假设我有一个相当大的组织 Spring Tool Suite (STS) 用户。这些用户正在使用一些过时的 STS 版本(例如 3.1.0)。 将这些用户升级到最新的 STS+Eclipse 的
我正在使用 DevExpress 制作的 XtraGrid Suite。我找不到任何功能来执行此操作,但我很好奇您是否可以将按钮或超链接添加到网格单元格。 上下文:我有一个事件列表。每个事件都有时间、
我希望将SPF和DKIM添加到MailChimp的域中。 该域正在通过G Suite运行,并具有以下SPF的TXT记录: v=spf1 include:_spf.google.com ~all 该域还
The before and after hook documentation on Relish仅显示 before(:suite) 在 before(:all) 之前调用。 我什么时候应该使用其中
有一个Juice Shop易受攻击的应用程序,可作为docker镜像使用。我正在Windows 10上对其进行测试。 我能够使用以下命令运行该应用程序: docker pull bkimminich/
我正在尝试使用 NetSuite 中的套件脚本关闭销售订单。 我注意到已经关闭的记录的“状态”设置为“已关闭”。我尝试在提交记录之前设置此字段,但这不起作用,并且记录仍处于“待履行”阶段。 是否还涉及
我是 Thilina,我是 Spring 工具套件的新手。我的操作系统是Windows 8。 我首先提取了“spring-tool-suite-3.1.0.RELEASE-e4.2-win32-x86
我有一个脚本,您可以将测试套件作为参数传递给: $ bash-specs a.suite b.suite 如果用户没有提供任何测试套件,则执行当前文件夹中的所有测试套件。这就是我目前的做法: loca
我目前正在尝试在日志文件中写入 JUnite Suite 失败测试的总数。 我的测试套件定义如下: @RunWith(Suite.class) @SuiteClasses({Class1.class,
我已下载 spring-tool-suite-3.6.1.RELEASE-e4.4-win32-x86_64.zip 并在尝试解压缩和安装时收到以下错误: Error 0x80010135: Path
运行程序test4_4.py时报错,empty test suite. 查找资料发现原因: 默认情况下,pycharm将检查以test开头的文件,它们是unittest.testcase的子类
我是一名优秀的程序员,十分优秀!