2010-07-07 45 views
2

我们使用非常具有描述性的测试名称进行工作,并且在水平滚动它们时变得非常烦人。有没有办法让方法名跨越C#中的多行?是否有跨越多行跨越长方法名称的方法?

喜欢的东西:

MyMethodNameIsReallyLong 
    _SoImMakingItSpanMultipleLines 
    _SoIDontHaveToHorizontallyScroll 
    _AndMyLifeIsMuchEasier() 
{ 
    DoSomething(); 
} 

感谢。

+5

获取更宽屏幕...?更严重的是,如何将测试名称分解为不同的名称空间,这样看起来更像ThisTestArea.ThisTestFunction.ThisTestName.ThisTestTask?这可以让你跨越多行。 – code4life 2010-07-07 16:22:17

+0

恩,你是不是太具描述性了?或者,也许你正在测试的班级做的东西太多了? – Grzenio 2010-07-07 16:22:32

+1

代码完成说,当命名例程的重点应该是使名称尽可能清晰,使其尽可能短或长,因为你需要使它可以理解,所以长方法名称本身没有任何错误或邪恶。但是,考虑到对象名称也构成调用者名称的一部分 - 或许焦点应该是缩短方法名称的长度,而不是弄清楚如何将它们分成多行? – 2010-07-07 16:30:34

回答

5

我敢肯定,简单的答案是:否。

没有为TestMethod的描述属性是“可能”是一个有用的替代方案...

[TestMethod, Description("My really long descriptive test name")] 
public void Test99() 
{ 
    Assert.Fail(); 
} 
+0

或者干脆(XML)注释该方法... – Noldorin 2010-07-07 16:32:48

+0

这可能有助于编写测试时。另外,在运行测试时,最重要的事情是哪个测试失败以及原因。简而言之,如你所提到的,测试名称仍然很简洁,测试的断言信息可能非常长且具有描述性。 – 2010-07-07 16:37:39

1

为什么选择这么多冗长的名字。第一个的长度足以理解MyMethodNameIsReallyLong。功能名称应该是可以理解的最大4-5个不同单词的组合。如此冗长的名字应该避免。

现有的例子的getElementById /名称 - JavaScript的

+2

这应该是一个评论吗?我打算发布类似的东西,但不回答问题! – 2010-07-07 16:28:26

+2

不同意。他在问测试方法。它们应该很长并且是描述性的。 MakeSureItDoesntBlowUp与Peter的“When_Passing_Both_Null_Values_Make_Sure_It_Exits_Gracefully' – 2010-07-07 16:32:01

+0

+1不一样。是的,它应该是。但是我知道的是,功能名称应该从名称上描述,并不是所有冗长的名称都是描述性的,因为它们是针对测试条件陈述的。像MyMethodNameIsReallyLongSoImMakingItSpanMultipleLinesSoIDontHaveToHorizo​​ntalScrollAndMyLifeIsMuchEasier(),而不是我们可以使用TestMethodBrokenForMakingLifeEasier() – 2010-07-07 16:44:43

0

我承担个别方法名不够长,要求滚动。如果您重新排列方法调用,你会看到更多的垂直文本:

MyMethodNameIsReallyLong(
    SoImMakingItSpanMultipleLines(
     SoIDontHaveToHorizontallyScroll() 
    ) 
); 
+1

我认为你在错误的轨道上。 OP的一个方法名是: MyMethodNameIsReallyLongSoImMakingItSpanMultipleLinesSoIDontHaveToHorizo​​ntalScrollAndMyLifeIsMuchEasier() – JeffH 2010-07-07 16:30:13