我想使用doctest注释块来演示特定基类的用法,但要么这不能用doctest完成,要么我做错了.这是我的简单演示代码.
class MyClass(object):
'''
>>> m = MyClass()
>>> print m.x
1
>>> class A(MyClass):
>>> def __init__(self):
>>> super(A,self).__init__()
>>>
>>> a = A()
>>> print a.x
1
'''
def __init__(self):
self.x = 1
if __name__ == "__main__":
import doctest
doctest.testmod()
Run Code Online (Sandbox Code Playgroud)
代码无法运行.这是发出的第一个错误:
Failed example:
class A(MyClass):
Exception raised:
Traceback (most recent call last):
File "C:\Python27\lib\doctest.py", line 1254, in __run
compileflags, 1) in test.globs
File "<doctest __main__.MyClass[2]>", line 1
class A(MyClass):
^
SyntaxError: unexpected EOF while parsing
Run Code Online (Sandbox Code Playgroud) 我试图将按钮的click()信号连接到我自己的函数.该按钮位于我使用QT Designer创建的小部件中.我用QUiLoader加载.ui文件,如下所示:
class MyWidget(QtGui.QMainWindow):
def __init__(self, *args):
QtGui.QMainWindow.__init__(self, *args)
loader = QtUiTools.QUiLoader()
file = QtCore.QFile("pyside_ui_qtdesigner_form_test.ui")
file.open(QtCore.QFile.ReadOnly)
self.myWidget = loader.load(file, self)
file.close()
self.setCentralWidget(self.myWidget)
btn = self.myWidget.findChild(QtGui.QPushButton, "HelloWorldButton")
btn.clicked.connect(self.slot1)
def slot1(self):
print "Received"
Run Code Online (Sandbox Code Playgroud)
这是连接按钮clicked()信号的正确方法吗?我看到我可以直接在Qt Designer中连接信号和插槽,但是我如何准备并在代码中进行这样的连接?附带问题:上面的代码有效,但主窗口显示错误的大小.如何确保尺寸合适?我应该用最小的高度/宽度限制来做到这一点吗?
有没有一种简单的方法来加载夹具数据,我通常在交互式Django shell中的自动测试运行中使用?
混合使用来自数据库的模型数据和来自固定装置的其他模型数据可能很尴尬.在我的情况下,我有一些只读表和魔杖来试验我之后可以丢弃的一些数据.
我可以加载像这里描述的夹具文件,但重复使用有点麻烦......
python ×2
class ×1
django ×1
doctest ×1
pyqt ×1
pyside ×1
qt-designer ×1
shell ×1
unit-testing ×1