问题描述
使用:Python 3.7、Bottle、Boddle、请求
我有一个要测试的模块(服务器),还有一个带有测试代码的模块(测试)。
经过测试的代码(server.py):
@bt_app.post("/")
def server_post():
try:
bt.request.forms.get("msg",None)
except bt.BottleException:
print("BottleException")
测试代码(test.py):
def test_test():
with boddle(),\
patch(
"server.bt.request.forms.get",side_effect=server.bt.BottleException,),\
pytest.raises(server.bt.BottleException):
server.server_post()
我首先运行'server',它成功设置了一个服务器。
然后我运行“test”,它成功地访问并测试了服务器。
我希望测试会引发“BottleException”和 PASS,但事实并非如此。它确实失败了:“失败:没有 RAISE ”
谁能告诉我我做错了什么?
谢谢
解决方法
尝试不使用别名。
...
with pytest.raises(bottle.BottleException):
...