我有一个使用单击来获取输入参数的脚本。根据他们的文档,CliRunner 可用于进行单元测试:
import click
from click.testing import CliRunner
def test_hello_world():
@click.command()
@click.argument('name')
def hello(name):
click.echo('Hello %s!' % name)
runner = CliRunner()
result = runner.invoke(hello, ['Peter'])
assert result.exit_code == 0
assert result.output == 'Hello Peter!\n'
Run Code Online (Sandbox Code Playgroud)
这是针对在测试中内联编写的小型 hello-world 函数完成的。我的问题是:
如何对不同文件中的脚本执行相同的测试?
使用 click 的脚本示例:
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name', help='The person to greet.')
def hello(count, name):
"""Simple program that greets NAME for a total of COUNT times."""
for x in range(count):
click.echo('Hello %s!' % name) …Run Code Online (Sandbox Code Playgroud) 我在Qt中使用c ++,我想绘制一个椭圆.从Qt文档中我发现我可以使用drawEllipse从边界矩形中绘制一个椭圆:
void QPainter::drawEllipse(const QRectF &rectangle)
Run Code Online (Sandbox Code Playgroud)
矩形由下式给出:
QRectF(qreal x, qreal y, qreal width, qreal height)
Run Code Online (Sandbox Code Playgroud)
但是,这仅提供具有水平/垂直长轴和短轴的椭圆.
我的椭圆由两个坐标集给出,表示长轴和长轴和短轴的长度之比.因此,轴可以具有非水平或垂直的斜率.(无论如何我需要使用这个方法,因为我也将它导出到dxf文件,其中有这种表示法)
我的问题是:
有没有其他方法来绘制椭圆而不是使用边界矩形然后旋转它?
将它放在水平/垂直矩形中然后在从头开始有轴坐标时计算旋转似乎有点傻.