即使是简单的Python模块,非常常见的目录结构似乎是将单元测试分成它们自己的test目录:
new_project/
antigravity/
antigravity.py
test/
test_antigravity.py
setup.py
etc.
Run Code Online (Sandbox Code Playgroud)
例如,看看这个Python项目如何.
我的问题是,实际运行测试的常用方法是什么?我怀疑这对除了我以外的所有人都是显而易见的,但你不能只是python test_antigravity.py从测试目录运行,因为import antigravity它将失败,因为模块不在路径上.
我知道我可以修改PYTHONPATH和其他搜索路径相关的技巧,但我不能相信这是最简单的方法 - 如果你是开发人员,那就没关系,但是如果他们只是想检查测试,那么期望用户使用是不现实的通过.
另一种选择只是将测试文件复制到另一个目录中,但它看起来有点愚蠢,并且忽略了将它们放在一个单独的目录中的重点.
那么,如果您刚刚将源代码下载到我的新项目中,您将如何运行单元测试?我更喜欢一个能让我对用户说的答案:"运行单元测试做X."
如果你要求单元测试的最小代码覆盖率,甚至可能作为提交到存储库的要求,它会是什么?
请解释你是如何得出答案的(因为如果你所做的只是选择一个号码,那么我本可以自己完成这一切;)
我正在努力将单元测试集成到我工作的团队的开发过程中,并且有一些怀疑论者.有什么好的方法可以让团队中持怀疑态度的开发人员相信单元测试的价值?在我的具体情况下,我们将添加单元测试,因为我们添加功能或修复了错误.不幸的是,我们的代码库不适合简单的测试.
命名单元测试类和测试方法的最佳实践是什么?
之前在SO上讨论了这个问题,单元测试有哪些流行的命名约定?
我不知道这是一个非常好的方法,但是目前在我的测试项目中,我在每个生产类和测试类之间都有一对一的映射,例如Product和ProductTest.
在我的测试类中,然后我有方法,其中包含我正在测试的方法的名称,下划线,然后是情况和我期望发生的事情,例如Save_ShouldThrowExceptionWithNullName().
我用Python完成了我的第一个正确的项目,现在我的任务是为它编写测试.
由于这是我第一次做项目,这是我第一次为它编写测试.
问题是,我该如何开始?我完全不知道.任何人都可以指向我一些文档/教程/链接/书籍,我可以用它来开始编写测试(我猜特别是单元测试)
任何建议都会受到欢迎.
我知道你可以使用以下方法在某个类中运行所有测试:
mvn test -Dtest=classname
Run Code Online (Sandbox Code Playgroud)
但我想运行一个单独的方法,-Dtest = classname.methodname似乎不起作用.
我正在构建一个具有一些公共和私有方法的类库.我希望能够对私有方法进行单元测试(主要是在开发时,但它也可能对将来的重构有用).
这样做的正确方法是什么?
如果您正在编写库或应用程序,那么单元测试文件会在哪里进行?
将测试文件与主应用程序代码分开是很好的,但将它们放入app根目录内的"tests"子目录中是很尴尬的,因为这会导致导入您将要测试的模块变得更加困难.
这里有最好的做法吗?
我想知道如何对抽象类进行单元测试,以及扩展抽象类的类.
我应该通过扩展它来测试抽象类,删除抽象方法,然后测试所有具体方法吗?然后只测试我覆盖的方法,并在单元测试中测试扩展我的抽象类的对象的抽象方法?
我是否应该有一个抽象的测试用例,可以用来测试抽象类的方法,并在我的测试用例中为扩展抽象类的对象扩展这个类?
请注意,我的抽象类有一些具体的方法.
unit-testing ×10
python ×3
java ×2
testing ×2
.net ×1
code-metrics ×1
maven-2 ×1
mocking ×1
private ×1
tdd ×1