我们正在使用 MSTest 编写一个单元测试框架,以便我们可以测试我们拥有的 AIF 框架集成项目。
我们无法找到使用模拟的方法,因此我们的解决方案是在单元测试开始时拍摄数据库的快照,然后在最后使用程序集初始化和清理来恢复和处理它。
然后,我们的测试结构对 AX 进行登录调用以创建我们需要的数据,然后注销并处理。然后我们整理我们需要的数据并通过 AIF 服务推送。
当我们恢复快照时,它倒下并说当其他用户正在使用数据库时它无法恢复数据库。(即使我们在使用后清理服务)。我们可以通过在它之前运行另一个 SQL 查询来解决这个问题,该查询循环遍历所有会话并杀死它们(除了当前会话)。这允许数据库正确恢复,但因为我们没有优雅地关闭会话,AX 服务认为存在问题并自行关闭,您可以想象这不是很有用!
所以我们这里有一个catch 22 的情况。
我没有在这里包含任何代码,因为我认为它不会有任何帮助,但如果你认为它会告诉我。
请帮助我,我真的处于我的束缚的尽头!