代码之家  ›  专栏  ›  技术社区  ›  Nils

C语言中可读性好的测试名称#

  •  3
  • Nils  · 技术社区  · 14 年前

    我阅读 FsUnit 以下是f中的有效方法/类名:

    [<TestFixture>] 
    type ``Given a LightBulb that has had its state set to true`` ()=
       let lightBulb = new LightBulb(true)
    
       [<Test>] member test.
        ``when I ask whether it is On it answers true.`` ()=
           lightBulb.On |> should be True
    

    有没有一种方法可以在C中使用类似的方法或类名?

    4 回复  |  直到 13 年前
        1
  •  6
  •   driis    14 年前

    不可以,在C方法名中不能有空格或标点符号。你可以做到:

    [TestMethod]
    public void When_Asked_Whether_It_Is_On_It_Answers_True() {}
    
        2
  •  1
  •   Ian P    14 年前

    我首选的命名测试方法根本不包括下划线。

    例如,

    [Test]
    public void SomeMethodShouldCallServiceManagerWithTheCorrectParameters()
    

    因此,一致性是关键。只要您愿意,拥有一个方法名就不会受到惩罚。所以,如果你喜欢用下划线分隔单词,那就开始吧。

    伊恩

        3
  •  1
  •   Chris Nielsen    13 年前

    照书上说的做:

    public void MethodNameUnderTest_CaseExplained_ExpectedResult()
    

    非常可读

        4
  •  0
  •   Dan Fitch    14 年前

    事实上,如果你 真正地 希望测试中有空格。

    吉米·博加德解释说:

    http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/02/16/spaces-in-identifier-names-in-c.aspx

    基本上,使用utf-160x200e字符作为空格,利用自动热键对键盘进行黑客攻击,以便在需要时轻松键入该字符。

    现在的问题是,你真的想这样做吗?