小编Daw*_*ski的帖子

禁止处理程序运行

有没有办法阻止处理程序运行?我试图添加标签并使用"--skip-tags"但它不起作用.

我可以添加下一个角色变量reload_service: true并使用它但我已经开始使用标签,它们非常适合重新运行部分角色.

处理程序通常用于重新启动服务,我希望在不更改角色变量的情况下运行此角色而不启动服务只是为了涵盖下一个案例.

我正在使用 ansible 2.1.2.0

测试用例:

mkdir -p test/role/handlers test/role/tasks cd test echo -ne '---\n - command: "echo Test"\n notify: restart\n' > role/tasks/main.yml echo -ne '---\n- name: restart\n command: "echo Handler"\n tags: [handlers]\n' > role/handlers/main.yml echo -ne '---\n- hosts: localhost\n gather_facts: false\n roles:\n - role\n' > play.yml ansible-playbook play.yml --skip-tags handlers

ansible

5
推荐指数
2
解决办法
3704
查看次数

str 可以引发异常吗?

是否有str可能引发不可调用参数的异常?除了可能__repr__出于某种原因覆盖的自定义类之外?

我对函数的输入有一些争论,如果不是,str我将其转换为它。我很好奇我是否必须处理异常,如果必须,哪些是?处理Exception不是好的做法,但似乎这是唯一的方法。

编辑:不可调用我的意思是参数不在 str 内执行,例如str(get_something_to_convert()). 在这个例子中,我应该处理内部函数中的异常。

python

3
推荐指数
1
解决办法
612
查看次数

Flask 中 SQLAlchemy 的真实单元测试

我正在网络和 SO 中搜索诸如“单元测试 sqlalchemy”之类的键,但所有答案都涉及创建真实的数据库(sqlite、postgres)来测试它。当你创建真实的东西时,它不是单元测试。

创建 sqlite DB 与在磁盘上创建文件没有什么不同,但令人惊讶的是人们希望只模拟后者。我试过使用 setUp 和 sys.modules 模拟 db 导入,它可以工作,但它模拟的太多,并且使用模型作为测试对象并非易事(模拟不支持所有需要的东西,例如next

是否有任何技术可以模拟数据库行为(创建数据库、提交、查询)但仍然可以访问模型以对它们进行基本检查?也许有一些库可以模拟连接?

python unit-testing sqlalchemy

3
推荐指数
1
解决办法
3927
查看次数

使用else语句有什么好处吗?

使用if-else是否有任何区别:

def foo:
  if bar:
    return baz
  else:
    return False
Run Code Online (Sandbox Code Playgroud)

或者像这样:

def foo:
  if bar:
    return baz
  return False
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
100
查看次数

标签 统计

python ×3

ansible ×1

sqlalchemy ×1

unit-testing ×1