nosetest 在项目中找不到测试
nosetest does not find tests in project
我的鼻子测试有问题。
我在 python2 中经常使用它,这是第一次在 python3 中使用它。
显然它没有在项目中找到测试,除非我不指定文件。
lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam/adam$ nosetests -v
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam/adam$ nosetests -v testing_tools/tests/test_testing_tools.py
test_testing_tools.test_root_paths ... ok
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam/adam$
这是项目结构:
(adam_venv) lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam$ tree
.
├── adam
│ ├── baseline
│ │ ├── action
│ │ │ ├── anomaly_score.py
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ └── __init__.cpython-38.pyc
│ │ │ ├── query_manager.py
│ │ │ ├── runner.py
│ │ │ └── tests
│ │ ├── database_manager.py
│ │ ├── __init__.py
│ │ ├── input_manager.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ ├── query_manager.py
│ │ ├── runner.py
│ │ ├── status_file_manager.py
│ │ ├── tests
│ │ │ ├── __init__.py
│ │ │ └── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ ├── time_smoothed_baseliner.py
│ │ └── weighted_exp_baseline.py
│ ├── common
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ └── utils
│ │ ├── cne_config.py
│ │ ├── cnx.py
│ │ ├── cnx_util.py
│ │ ├── config_executor.py
│ │ ├── console_spinner.py
│ │ ├── curl_utils.py
│ │ ├── file_lock.py
│ │ ├── files.py
│ │ ├── general_util.py
│ │ ├── __init__.py
│ │ ├── log_utils.py
│ │ ├── memory_utils.py
│ │ ├── popen_util.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ ├── remote_debugger.py
│ │ ├── rest_api.py
│ │ ├── shell_command.py
│ │ └── wait_utils.py
│ ├── config
│ │ ├── config_manager.py
│ │ ├── config_validator.py
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ └── statistics_mapping.py
│ ├── __init__.py
│ ├── module_setup
│ │ ├── alerts.py
│ │ ├── constants.py
│ │ ├── daemon.py
│ │ ├── __init__.py
│ │ ├── logger.py
│ │ ├── messages.py
│ │ ├── paths_manager.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-38.pyc
│ │ │ └── paths_manager.cpython-38.pyc
│ │ ├── setup.py
│ │ ├── sshcmd.py
│ │ ├── status_manager.py
│ │ ├── status.py
│ │ ├── status_util.py
│ │ └── tasks_manager.py
│ ├── __pycache__
│ │ └── __init__.cpython-38.pyc
│ └── testing_tools
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ └── testing_tools.cpython-38.pyc
│ ├── testing_tools.py
│ └── tests
│ ├── __pycache__
│ │ └── test_testing_tools.cpython-38.pyc
│ └── test_testing_tools.py
├── Distribution.egg-info
│ ├── dependency_links.txt
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ └── top_level.txt
└── setup.py
22 directories, 69 files
(adam_venv) lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam$
我不明白为什么找不到测试。
python2和3在用法上有什么区别吗?
我发现由于权限问题,nosetests 找不到测试。
我的结论是:
- 所有文件夹都应标记为可执行
- 所有测试文件都不能执行。
我修复了:
sudo chmod -r +X . && sudo chmod -r -x .
我的鼻子测试有问题。
我在 python2 中经常使用它,这是第一次在 python3 中使用它。
显然它没有在项目中找到测试,除非我不指定文件。
lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam/adam$ nosetests -v
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam/adam$ nosetests -v testing_tools/tests/test_testing_tools.py
test_testing_tools.test_root_paths ... ok
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam/adam$
这是项目结构:
(adam_venv) lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam$ tree
.
├── adam
│ ├── baseline
│ │ ├── action
│ │ │ ├── anomaly_score.py
│ │ │ ├── __init__.py
│ │ │ ├── __pycache__
│ │ │ │ └── __init__.cpython-38.pyc
│ │ │ ├── query_manager.py
│ │ │ ├── runner.py
│ │ │ └── tests
│ │ ├── database_manager.py
│ │ ├── __init__.py
│ │ ├── input_manager.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ ├── query_manager.py
│ │ ├── runner.py
│ │ ├── status_file_manager.py
│ │ ├── tests
│ │ │ ├── __init__.py
│ │ │ └── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ ├── time_smoothed_baseliner.py
│ │ └── weighted_exp_baseline.py
│ ├── common
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ └── utils
│ │ ├── cne_config.py
│ │ ├── cnx.py
│ │ ├── cnx_util.py
│ │ ├── config_executor.py
│ │ ├── console_spinner.py
│ │ ├── curl_utils.py
│ │ ├── file_lock.py
│ │ ├── files.py
│ │ ├── general_util.py
│ │ ├── __init__.py
│ │ ├── log_utils.py
│ │ ├── memory_utils.py
│ │ ├── popen_util.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ ├── remote_debugger.py
│ │ ├── rest_api.py
│ │ ├── shell_command.py
│ │ └── wait_utils.py
│ ├── config
│ │ ├── config_manager.py
│ │ ├── config_validator.py
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ └── __init__.cpython-38.pyc
│ │ └── statistics_mapping.py
│ ├── __init__.py
│ ├── module_setup
│ │ ├── alerts.py
│ │ ├── constants.py
│ │ ├── daemon.py
│ │ ├── __init__.py
│ │ ├── logger.py
│ │ ├── messages.py
│ │ ├── paths_manager.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-38.pyc
│ │ │ └── paths_manager.cpython-38.pyc
│ │ ├── setup.py
│ │ ├── sshcmd.py
│ │ ├── status_manager.py
│ │ ├── status.py
│ │ ├── status_util.py
│ │ └── tasks_manager.py
│ ├── __pycache__
│ │ └── __init__.cpython-38.pyc
│ └── testing_tools
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-38.pyc
│ │ └── testing_tools.cpython-38.pyc
│ ├── testing_tools.py
│ └── tests
│ ├── __pycache__
│ │ └── test_testing_tools.cpython-38.pyc
│ └── test_testing_tools.py
├── Distribution.egg-info
│ ├── dependency_links.txt
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ └── top_level.txt
└── setup.py
22 directories, 69 files
(adam_venv) lpuggini@lpuggini-T3420:~/Connectors/trunk/modules/src/adam/src/adam$
我不明白为什么找不到测试。 python2和3在用法上有什么区别吗?
我发现由于权限问题,nosetests 找不到测试。
我的结论是:
- 所有文件夹都应标记为可执行
- 所有测试文件都不能执行。
我修复了:
sudo chmod -r +X . && sudo chmod -r -x .