我使用munit和Mules FunctionalTestCase对我的Mule应用程序进行单元测试。我可以成功地模拟Salesforce等连接器,所以我不依赖于外部系统。
但是我应该创建没有模拟的端到端集成测试吗?这里的最佳做法是什么?
我是否应该使用标准的Salesforce库为我的测试创建准备好的记录并在没有模拟的情况下运行它们?
或者可以使用模拟运行这些吗?
答案 0 :(得分:1)
您应该进行一些集成测试,但它们应该只是为了确保您是否可以成功连接到外部系统&你得到一个有效的值等。你从外部系统中获取值后,不需要在方法中测试业务逻辑,就像使用模拟一样。您还应该对测试进行分类(单元测试和集成测试),以便您也可以单独运行它们。
答案 1 :(得分:1)
如果要测试外部系统改变行为的情况,那么对外部系统进行集成测试是一种很好的做法。集成测试的问题在于它们不是孤立的。例如,阿根廷的某个人可以同时运行您的测试,因此您的测试将受到影响,因为外部系统同时受到刺激。如果你想测试你的应用程序,那么单元测试很好,如果这些测试是在一个持续集成系统中,那么只进行单元测试。集成测试非常有用,但必须由受控场景中的单个用户运行。