小编drl*_*drl的帖子

正确的方法来单元测试对象的类型

使用Visual Studio单元测试框架,我正在考虑两个选项:

Assert.AreEqual(myObject.GetType(), typeof(MyObject));
Run Code Online (Sandbox Code Playgroud)

Assert.IsInstanceOfType(myObject, typeof(MyObject));
Run Code Online (Sandbox Code Playgroud)

这两个选项之间有区别吗?一个比另一个更"正确"吗?

这样做的标准方法是什么?

.net c# vs-unit-testing-framework

15
推荐指数
4
解决办法
2万
查看次数

Windows Phone多行文本框

我想创建一个UI元素,其行为大致类似于原生WP SMS App的输入文本框.

基本上它应该

  • 以单行文本框开头
  • 当我的文本到达第一行的末尾时,它应该展开一行以包含它
  • 这需要转到5行的最大高度(其中一行=文本框的高度值)
  • 一旦我的文本需要超过5行,文本框应停止展开,并应出现垂直滚动条

有关如何做到这一点的任何建议?我宁愿不使用事件来查看我输入的文本数量,并根据该文本框展开/压缩文本框,或者从头开始创建新的UI元素.

如果有帮助,我可以访问Telerik的Windows Phone RAD控件(RadTextBox).

c# textbox telerik windows-phone-8

9
推荐指数
1
解决办法
1万
查看次数

在单元测试中使用try/catch块

使用VS的测试框架,我目前正在编写我的测试:

[TestMethod]
public void TestSomething() 
{
    try
    {
        var someTestValue = _someTestClass.SomeTestMethod();            

        Assert.IsNotNull(someTestValue);
    }
    catch (Exception e) 
    {
        Assert.Fail(e.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的逻辑是,如果抛出异常SomeTestMethod(),我将立即终止显示异常消息的测试Assert.Fail(e.Message).

做事的"正常方式"是:

[TestMethod]
public void TestSomething() 
{
    var someTestValue = _someTestClass.SomeTestMethod();            

    Assert.IsNotNull(someTestValue);
}
Run Code Online (Sandbox Code Playgroud)

我的方法是正确的,还是"正常方式"是正确的?我在写冗余代码吗?

.net c# unit-testing

4
推荐指数
1
解决办法
2857
查看次数