【发布时间】:2019-07-16 08:33:02
【问题描述】:
我有一个微服务类 MsActionDetector。它从命令行获取一个参数,因为 ms 在本地和容器内的 .sh 脚本中启动。
class MsActionDetector(BaseMicroservice):
def __init__(self):
self.config = safe_load(open(sys.argv[1]))
....
我想执行集成测试,从而在测试中实例化我的微服务,但这不起作用,因为该类除了命令行参数。我怎样才能做到这一点? python Decorator 是一个解决方案吗?我应该修改我的构造函数吗?
【问题讨论】:
-
为什么不让您的测试脚本使用
os.system('<command goes here>')从 shell 启动应用程序? -
我不确定我是否理解,os.system() 是做什么的?
-
您如何进行集成测试?
-
如果您导入 os 模块,您可以使用常规的 shell 命令(例如“python myService.py args”)来启动其他东西,例如服务助手守护程序或其他用于测试的应用程序。
-
调用 os.system 似乎是同步的,我在测试中不能做任何其他事情
标签: python oop testing decorator python-decorators