【问题标题】:Issue with running test from terminal从终端运行测试的问题
【发布时间】:2015-03-18 15:28:59
【问题描述】:

我正在 PyCharm 中使用 Python 2.7.9

这是我的项目结构:

/JUAN
    /framework
        /config
        /page_objects
            /locators
        /tests
            /log_in
        /wrapper

locators 文件夹中,我将每个页面对象的定位器存储在JSON 文件中。在log_in 文件夹中我有一个测试。 这是测试的内容:

""" Test to verify the Sign In page."""

import unittest
from framework.page_objects.sign_in_page import SignInPage
from framework.tests.selenium_test_base import SeleniumTestBase

class TestVerifyPage(SeleniumTestBase):

    def test_verify_page(self):
        sign_inPage = SignInPage()
        sign_inPage.verify_elements_on_page()

    if __name__ == "__main__":
        unittest.main()

如果我通过右键单击并选择 Run 运行它,则测试通过。但是,如果我尝试通过终端执行它,我会遇到以下问题:

执行的行:

C:\JUAN\framework>python -m unittest ./tests/log_in/test_verify_page.py test_verify_page()

例外:

Traceback (most recent call last):
  File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "C:\Python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Python27\lib\unittest\__main__.py", line 12, in <module>
    main(module=None)
  File "C:\Python27\lib\unittest\main.py", line 94, in __init__
    self.parseArgs(argv)
  File "C:\Python27\lib\unittest\main.py", line 149, in parseArgs
    self.createTests()
  File "C:\Python27\lib\unittest\main.py", line 158, in createTests
    self.module)
  File "C:\Python27\lib\unittest\loader.py", line 130, in loadTestsFromNames
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "C:\Python27\lib\unittest\loader.py", line 91, in loadTestsFromName
    module = __import__('.'.join(parts_copy))
ValueError: Empty module name

【问题讨论】:

    标签: python terminal pycharm python-unittest


    【解决方案1】:

    我找到了 2 个解决方案:

    解决方案 1:

    我所做的是删除了framework 文件夹。

    在终端中执行的行是:

    python -m unittest test_verify_page
    

    解决方案 2:

    如果要离开模块结构,需要在根目录下创建setup.py文件

    setup.py内容:

    from distutils.core import setup
    setup(name='SxD',
          packages=['framework','config', 'page_objects','tests', 'wrapper'])
    

    然后在根目录下执行这个命令行:

    python setup.py install
    

    一个build 文件夹是用模块引用创建的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 2023-03-13
      • 2014-12-12
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多