为什么我不能在另一个.py文件中使用我的.py文件中的方法?

时间:2018-02-21 11:47:13

标签: python selenium

这是我的带有按钮的表单代码:

import sys
from ClickerBot import test_ClikerBot

def func1():
    if sys.version_info < (3, 0):
        # Python 2
        import Tkinter as tk
    else:
        # Python 3
        import tkinter as tk
    root = tk.Tk()
    root.title(“Clicker”)

   def startClick():
        root.destroy()
        clicker = test_ClikerBot()
        clicker.test_clicker_bot()

   button1 = tk.Button(root, text=“CLICK CLICK CLICK”, command=startClick())
    button1.pack()
    tk.mainloop()

if __name__ == ‘__main__‘:
    func1()

当我启动此文件时,我收到下一个错误:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7    /Users/ltst/Desktop/dev/DribbleBot/venv/Scripts/main.py
Traceback (most recent call last):
  File “/Users/ltst/Desktop/dev/DribbleBot/venv/Scripts/main.py”, line 23, in <module>
    func1()
  File “/Users/ltst/Desktop/dev/DribbleBot/venv/Scripts/main.py”, line 19, in func1
    button1 = tk.Button(root, text=“CLICK CLICK CLICK”, command=startClick())
  File “/Users/ltst/Desktop/dev/DribbleBot/venv/Scripts/main.py”, line 16, in startClick
    clicker = test_ClikerBot()
  File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/case.py”, line 191, in __init__
    (self.__class__, methodName))
ValueError: no such test method in <class ‘ClickerBot.test_ClikerBot’>: runTest

但是在我的ClickerBot类中存在这个方法:

class test_ClikerBot(unittest.TestCase):    
   def test_clicker_bot(self):

哪里有问题?我从catalog studio记录器导入这个代码,并在一周前开始学习python,因为很多东西对我来说像魔法和谷歌帮助不是每次都有(对不起英语不好)

1 个答案:

答案 0 :(得分:0)

如果您的test_ClikerBot课程是普通课程,您的代码就可以了。关键是unittest是一个非常特殊的框架,并且TestCase类不是直接使用的,而是通过TestRunnerTestLoader两者都做了很多引擎盖下的魔法。 This is partly documented,但您可能必须阅读现有跑步者和装载者的源代码才能真正了解如何使整个过程发挥作用。一个很好的起点可能是文档中提到的已经存在的GUI testrunner:

  

Python源代码中的脚本Tools / unittestgui / unittestgui.py   distribution是一个用于测试发现和执行的GUI工具