如何使用测试套件构建和部署python项目

时间:2018-12-23 02:55:17

标签: python python-3.x setuptools python-unittest

我有一个具有以下结构的简单命令行python项目

project_main/
    - README.md
    - requirements.txt
    - setup.py
    - project_main/
          - __init__.py
          - controller.py
    - tests/
          - __init__.py
          - test_cases.py
          - test_suite.py

我使用下面给出的命令运行测试用例,并且所有测试都通过了

python -m unittest

应用程序逻辑完美运行。

现在,我需要使用单个脚本“ setup.py”在任何系统中部署此代码。 “ setup.py”的内容在下面给出

from setuptools import setup, find_packages
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) 
setup(
    name='sample',
    version='1.0.0',
    description='sample deployment'
    packages=find_packages(),
    test_suite="tests.test_suite.main_suite",
    entry_points={
        'console_scripts': [
            'demoCommand=project_main.controller:main'
        ]
    }
)

当我使用以下命令运行此命令时,它要求获得默认安装路径的管理员权限。同样,即使test_cases失败,也会安装该应用程序。

python3 setup.py install
  1. 我想知道如何在运行setup.py文件时确保Requirements.txt中的所有软件包都已安装?
  2. 如果测试用例失败,如何停止安装?
  3. 如何在没有管理员许可的情况下将应用程序安装在自定义文件夹中?

编辑:添加setup.py安装命令的部分相关输出

copying build\lib\tests\__init__.py -> build\bdist.win32\egg\tests
byte-compiling build\bdist.win32\egg\tests\main_test_suite.py to main_test_suite.cpython-37.pyc

0 个答案:

没有答案