首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NUnit检查是否单击了按钮

NUnit检查是否单击了按钮
EN

Stack Overflow用户
提问于 2019-11-14 15:48:51
回答 1查看 248关注 0票数 0

我正在学习如何做单元测试。我试图搜索如何对按钮单击事件进行测试,但找不到一个我能理解的答案。如何检查是否引发了TextBlock_MouseDown事件,并且随后是来自PostMethod的响应,该事件不能为null。我的问题是,我找不到一种方法,或者不知道如何使用NUnit检查TextBlock_MouseDown事件。

代码语言:javascript
复制
public partial class MainWindow : Window
{
    public MainWindow(){
        InitializeComponent();
    }

    public void TextBlock_MouseDown(object sender, MouseButtonEventArgs e){
        //Check return value from PostMethod
        string reponse = PostMethod("myurlhere");
    }

    public static String PostMethod(String val){
        //Code
    }
}




[TestFixture]
public class TestClass
{
    [Test]
    public void PostMethod_IsAlive_returnHello()
    {
        //ARRANGE
        String url = "myurlhere";

        //ACT
        string response = MainWindow.PostMethod(url);

        //ASSERT
        Assert.AreEqual("\"Hello\"", response);

    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-11-14 15:58:24

如果你想测试你的UI,你应该使用一个测试库来进行UI测试。例如FlaUI (https://github.com/Roemer/FlaUI)。

NUnit是用来测试你的代码的。例如,如果您想检查PostMethod()是否返回特定值。

如果您只想检查PostMethod()的结果,可以将method外包给另一个class并对其进行测试(MainWindow现在将在其代码中使用)。

外包类

代码语言:javascript
复制
public class OutsourcedClass
{
    public string PostMethod(string url)
    {
        return url;
    }
}

单元测试

代码语言:javascript
复制
public class OutsourcedClassTest
{
    private OutsourcedClass _Instance;

    [SetUp]
    public void Setup()
    {
        _Instance = new OutsourcedClass();
    }

    [Test]
    public void PostMethodTest()
    {
        string url = "foo";
        Assert.AreEqual(url, _Instance.PostMethod(url));
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58851763

复制
相关文章

相似问题

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