这是我的文件夹结构:
Mopy/ # no init.py !
bash/
__init__.py
bash.py # <--- Edit: yep there is such a module too
bass.py
bosh/
__init__.py # contains from .. import bass
bsa_files.py
...
test_bash\
__init__.py # code below
test_bosh\
__init__.py
test_bsa_files.py
Run Code Online (Sandbox Code Playgroud)
在test_bash\__init__.py我有:
import sys
from os.path import dirname, abspath, join, sep
mopy = dirname(dirname(abspath(__file__)))
assert mopy.split(sep)[-1].lower() == 'mopy'
sys.path.append(mopy)
print 'Mopy folder appended to path: ', mopy
Run Code Online (Sandbox Code Playgroud)
在test_bsa_files.py:
import unittest
from unittest import TestCase
import bosh
class TestBSAHeader(TestCase):
def …Run Code Online (Sandbox Code Playgroud) python python-import python-2.7 relative-import python-unittest
可能重复:
Python单元测试在哪里?
单元测试是保存在与代码相同的文件中,同一目录中的单独文件还是完全不同的目录中?
我所参与的项目的开发人员认为,doctests与单元测试一样好,并且如果一段代码被证明,则不需要进行单元测试.我不相信这是事实.任何人都可以提供一些可靠的,理想上引用的例子来支持或反对doctests取代单元测试需求的论点吗?
谢谢-Daniel
编辑:任何人都可以提供一个参考,表明doctesting不应该取代单元测试?
myproject/
bin/
myscript
mypackage/
__init__.py
core.py
tests/
__init__.py
test_mypackage.py
setup.py
Run Code Online (Sandbox Code Playgroud)
测试脚本myscript的最佳方法是什么?
从SO研究来看,似乎我发现的唯一答案是在测试中编写一个名为test_myscript的测试,并使用像
import subprocess
process = subprocess.Popen('myscript arg1 arg2')
print process.communicate()
Run Code Online (Sandbox Code Playgroud)
在我的测试用例中运行脚本然后测试结果.有没有更好的办法?或者针对不同方式的任何其他建议?我应该将测试套件放在bin/tests或mypackage/tests中吗?
我是python的新手,我不确定一些事情.