TypeError:Python UnitTests:_init__()接受1到2个位置参数,但给出了3个
我正在使用Django创建项目的接口。我试图通过django管理员的操作方法调用这个脚本。然而,我最终还是犯了一个错误。可能的错误和解决方案是什么?我知道代码很混乱,有很多注释,我试过几种变通方法。我想做的是: 将模型实例传递给unittest方法,该方法使用实例的属性来运行其测试 管理员TypeError:Python UnitTests:_init__()接受1到2个位置参数,但给出了3个,python,django,unit-testing,pytest,python-unittest,Python,Django,Unit Testing,Pytest,Python Unittest,我正在使用Django创建项目的接口。我试图通过django管理员的操作方法调用这个脚本。然而,我最终还是犯了一个错误。可能的错误和解决方案是什么?我知道代码很混乱,有很多注释,我试过几种变通方法。我想做的是: 将模型实例传递给unittest方法,该方法使用实例的属性来运行其测试 管理员 from io import StringIO from django.contrib import admin from .models import UploadTrackModel from .Test
from io import StringIO
from django.contrib import admin
from .models import UploadTrackModel
from .TestCases.UploadTest import Test_Upload
import unittest
import pytest
import threading
from threading import Thread
# Register your models here.
from selenium import webdriver
def run_test(self, request, queryset):
for item in queryset:
stream = StringIO()
suite = unittest.TestSuite()
suite.addTest(Test_Upload('test_upload', item))
# runner = unittest.TextTestRunner(stream=stream)
# result = runner.run(unittest.makeSuite(Test_Upload))
unittest.TextTestRunner(verbosity=2).run(suite)
# result.testsRun
# stream.seek(0)
# print('Test output\n', stream.read())
class UploadTrackAdmin(admin.ModelAdmin):
actions = [run_test]
admin.site.register(UploadTrackModel,UploadTrackAdmin)
这是它试图调用的类
from ..PageObjects.Upload import Upload
from ..PageObjects.HomePage import HomePage
import unittest
from selenium import webdriver
from threading import Thread
class Test_Upload(unittest.TestCase):
baseURL = "<sampleURLhere>"
driver = None
# def __int__(self, upload_object, *args, **kwargs):
# super(Test_Upload, self).__init__(self,*args, **kwargs)
# self.upload_object = upload_object
def setUp(self):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--incognito")
self.driver = webdriver.Chrome(executable_path="exec path here", options= chrome_options)
self.driver.get(self.baseURL)
def test_upload(self, upload_object):
hp = HomePage(self.driver)
hp.sign_in()
hp.sign_in_email(upload_object.email, upload_object.password)
up = Upload(self.driver)
up.click_upload(upload_object)
if __name__ == '__main__':
unittest.main()
无法将自定义参数添加到
unittest
测试函数(例如upload\u object
)-unittest
无法设置此参数。
Traceback (most recent call last):
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\core\handlers\base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\contrib\admin\options.py", line 614, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\utils\decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\contrib\admin\sites.py", line 233, in inner
return view(request, *args, **kwargs)
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\utils\decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\utils\decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\contrib\admin\options.py", line 1719, in changelist_view
response = self.response_action(request, queryset=cl.get_queryset(request))
File "C:\Users\admin\PycharmProjects\Songdew\venv\lib\site-packages\django\contrib\admin\options.py", line 1402, in response_action
response = func(self, request, queryset)
File "C:\Users\admin\PycharmProjects\Songdew\UI\UploadUI\admin.py", line 18, in run_test
suite.addTest(Test_Upload('test_upload', item))
TypeError: __init__() takes from 1 to 2 positional arguments but 3 were given