请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

求助!报错TypeError: test_register_case() missing 6 required positional arguments

老师,看了好多遍好像没错不知道为什么提示TypeError: test_register_case() missing 6 required positional arguments

详情报错信息
Testing started at 下午 17:51 …
E:\Python3.7.1\python.exe “C:\Program Files\JetBrains\PyCharm 2019.1.3\helpers\pycharm_jb_unittest_runner.py” --path F:/test_project/case/first_ddt_case.py
Launching unittests with arguments python -m unittest F:/test_project/case/first_ddt_case.py in F:\test_project\case
这个是case的前置条件

Ran 1 test in 12.979s
这个是case的后置条件

FAILED (errors=1)

Error
Traceback (most recent call last):
File “E:\Python3.7.1\lib\unittest\case.py”, line 59, in testPartExecutor
yield
File “E:\Python3.7.1\lib\unittest\case.py”, line 615, in run
testMethod()
TypeError: test_register_case() missing 6 required positional arguments: ‘email’, ‘username’, ‘password’, ‘code’, ‘assertCode’, and ‘assertText’

Assertion failed

Assertion failed
Exception ignored in: <function Popen.del at 0x000001F2F38DE378>
Traceback (most recent call last):
File “E:\Python3.7.1\lib\subprocess.py”, line 854, in del
self._internal_poll(_deadstate=_maxsize)
File “E:\Python3.7.1\lib\subprocess.py”, line 1210, in _internal_poll
if _WaitForSingleObject(self._handle, 0) == _WAIT_OBJECT_0:
OSError: [WinError 6] 句柄无效。

Process finished with exit code 1

Assertion failed

Assertion failed

Assertion failed

Assertion failed

代码详情
‘firstfdtcase’
def setUp(self):
warnings.simplefilter(‘ignore’, ResourceWarning)
self.driver = webdriver.Chrome()
self.driver.get(‘http://www.5itest.cn/register’)
self.login = RegisterBusiness(self.driver)
self.file_name = "F:/test_project/test_images/test01.png"
print(‘这个是case的前置条件’)
#后置做的事情仅仅是关闭浏览器
def tearDown(self):
for method_name,error in self._outcome.errors:
if error:
case_name = self._testMethodName
file_path = os.path.join(os.path.abspath(os.path.dirname(os.getcwd())) + ‘/report/’+ case_name + ‘.png’)
self.driver.save_screenshot(file_path)
self.driver.close()
print(‘这个是case的后置条件’)
@ddt.data(
[‘12’,‘rww01’, ‘111111’,‘code’,‘user_email_error’,‘请输入有效的电子邮件地址’],
[’@qq.com’, ‘rww01’, ‘111111’, ‘code’, ‘user_email_error’, ‘请输入有效的电子邮件地址’],
[‘12@qq.com’, ‘rww01’, ‘111111’, ‘code’, ‘user_email_error’, ‘请输入有效的电子邮件地址’]
)

@ddt.unpack  # 解包
# 名字从test_login_email_error改成test_register_case
def test_register_case(self,email,username,password,code,assertCode,assertText):
    email_error = self.login.register_function(email,username,password,code,assertCode,assertText)
    # 通过assert  判断是否是  error
    return self.assertTrue(email_error, "test_login_email_error用例执行了")

business
def register_function(self,email,username,password,code,assertCode,assertText):
self.user_base(email, username, password, code)
if self.register_h.get_user_text(assertCode, assertText) == None:
print(‘邮箱检验不成功’)
return True
else:
return False

正在回答

1回答

TypeError: test_register_case() missing 6 required positional arguments
你test register case需要几个参数,但是你传递了几个?

0 回复 有任何疑惑可以回复我~
  • 提问者 仲夏rww #1
    非常感谢!test register case需要6个参数,我传递了6个,不知道为什么依然报错:    
    def test_register_case(self,email,username,password,code,assertCode,assertText):         email_error = self.login.register_function(email,username,password,code,assertCode,assertText)         # 通过assert  判断是否是  error         return self.assertTrue(email_error, "test_login_email_error用例执行了")
    
    
    传的是  email,username,password,code,assertCode,assertText  六个参数。
    回复 有任何疑惑可以回复我~ 2020-08-06 09:45:02
  • 慕UI7141847 回复 提问者 仲夏rww #2
    你看一下你的class FirstDdCase上边是不是少了@ddt.ddt
    回复 有任何疑惑可以回复我~ 2021-01-21 18:17:19
  • Mushishi 回复 提问者 仲夏rww #3
    因为你case本身是有正确执行的,上面都有成功。下面的报错。说明你下面的数据可能有问题。你把你每行数据打出来,看一下你第几行数据出错。这个提醒消息我了个去  才收到
    回复 有任何疑惑可以回复我~ 2021-01-21 21:26:44
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信