首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VS2010中的单元测试-“运行”通过,“调试”失败

VS2010中的单元测试-“运行”通过,“调试”失败
EN

Stack Overflow用户
提问于 2013-01-28 19:16:43
回答 1查看 356关注 0票数 0

我有一个测试用例,当我在VS2010中运行测试用例时,测试用例通过了。

但是,后来我发现测试用例不正确,CheckStatus()方法中的断言应该失败,当我调试测试用例时,我得到了断言失败。

那么,测试用例在运行模式下通过的原因是什么呢?

代码语言:javascript
运行
复制
    [TestMethod]
    public void TestMethod() {
        Invokable.Invoke(() => TestApplication.AnEvent+= CheckStatus);
        try {
            TestApplication.SearchCommand.Execute();
            Assert.AreEqual(State.Update, TestApplication.State);
        } finally {
            Invokable.Invoke(() => {
                TestApplication.AnEvent -= CheckStatus);
            });
        }
    }

    private void CheckStatus() {
        Assert.AreEqual(State.Initial, TestApplication.State);
    }
EN

Stack Overflow用户

发布于 2013-01-28 19:25:29

看起来像是计时问题,可能是由于调试模式下的代码运行速度较慢导致的。

Invoke的调用提供了一个线索,表明您正在进行跨线程通信。如果是这样,请在进一步测试之前查看如何在线程之间进行同步,因为有可能在调用调用之前测试正在运行。

您可以在使用Execute()方法之前使用Thread.Sleep()亲自测试这一点。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14560827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档