none
xunit测试,关于Action返回值如何测试呢? RRS feed

  • 问题

  •  有这么一个待测试的方法:

     public void GetVersion(Action<get_version_response> action) {...}

    该方法传入个acction,当方法处理完后,会返回个异步的action,现在想通过xunit对该方法进行测试,由于是异步的,于是我是这样做的:

            [Fact]
            public void GetVersion()
            {
                var Major = 0;
                readerTool.GetVersion(o =>
                {
                     Major = o.Major;
                });
                Thread.Sleep(2000);
                Assert.True(Major > 0);
            }

    这方式是通过线程休息强行等待action返回执行完成,在进行判断。对于这种情况,正确的测试方法应该是如何测得呢?


    2019年9月19日 1:06

全部回复

  • Hi  极简主义,  

    异步的方法一般建议,可以尝试使用async  await  来测试, 在X关于xnuit的,你可以在xnuit issue里面获取相关信息。

     
    Best regards

    Yong Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年9月20日 6:14