我已经实现了一个QuickFIX/J应用程序(J
代表Java
)。现在我考虑如何设置固定的测试用例。
我有点熟悉,JUnit
但我不知道它是否适合那个问题,因为QuickFIX/J
有回调(例如fromApp
-Application
类的方法)。
也许有人遇到过同样的问题并找到了一个很好的解决方案。;)
我已经实现了一个QuickFIX/J应用程序(J
代表Java
)。现在我考虑如何设置固定的测试用例。
我有点熟悉,JUnit
但我不知道它是否适合那个问题,因为QuickFIX/J
有回调(例如fromApp
-Application
类的方法)。
也许有人遇到过同样的问题并找到了一个很好的解决方案。;)
如果您正在测试 QuickFix 应用程序的响应,那么您实际上是在进行集成测试而不是单元测试。
因此,由于您已经编写了一个 QuickfixJ 应用程序,您可以编写一个连接到它的测试应用程序。因此,如果您的应用程序是 Fix 接受器,请编写一个启动器。
现在您可以将消息从您的测试应用程序发送到您的真实应用程序。来自您的真实应用程序的任何响应都将在您的测试应用程序中调用 onMessage()。
您可以捕获这些回调,然后您可以验证它们是否与某些模式匹配(例如,应用程序返回与测试发送的相同的客户端订单 ID)。您当然可以为此使用 JUnit。
我已经将 JUnit 与 QuickFIX/J 测试一起使用。对于回调,您可以使用 aBlockingQueue<Message>
这样您就可以在主线程中检查您是否收到了您期望的消息。或者,您可以使用您选择的数据类型的 BlockingQueue。