On 11/2/06, Tony Wu <[EMAIL PROTECTED]> wrote:
hey guys, I found there're same problem for assertSame like assertEquals.should use assertNull, assertSame\s*\((.*,\s*null\s*|\s*null\s*,.*)\)\s*; should use assertFalse, assertSame\s*\((.*,\s*false\s*|\s*false\s*,.*)\)\s*; should use assertTrue, assertSame\s*\((.*,\s*true\s*|\s*true\s*,.*)\)\s*; last argument should not be a constant, assertSame\s*\(.*,\s*("[^"]*"|'[^']'|[+-]?\d+[0-9a-fA-FLlPp]*|[A-Z_]*)\s*\)\s*; I'll update my checklist if no one object.
Please go for it ;-)
On 10/25/06, Mark Hindess <[EMAIL PROTECTED]> wrote: > > Earlier in the year we discussed junit best practice. For example, > making sure assertEquals calls have the expected and actual arguments in > the correct order to avoid getting confusing failure messages. > > Robert posted a script a week or so ago, to look for some of junit > issues but it didn't handle asserts that spanned multiple lines so, > unfortunately, it was missing the majority of them. I had a script that > I'd thrown together one evening that would handle multi-line asserts but > annoyingly (because it read the whole file at once) couldn't report the > line number of the potential issue as Robert's script did. > > Inspired by Robert's post, I looked at my script again. I've now fixed > it to report line numbers, added a little bit of documentation and > attached it to a JIRA: > > https://issues.apache.org/jira/browse/HARMONY-1960 > > It finds quite a lot of potential problems (I've appended a summary of > the findings below). (There will be a few false positives but hopefully > not too many.) It would be nice to fix these issues - I fixed several > hundred while testing the script - but more importantly we should make > sure we avoid adding any new issues. > > Improvements to the script would be most welcome. > > Regards, > Mark. > > Types of issue identified > > 4949 should possibly use assertEquals > 815 actual may be a constant > 437 consider using separate asserts for each '&&' component > 330 exception may be left to junit > 135 actual *may* be a constant > 48 should be fail (always false) > 40 should be fail (always true) > 20 expected is null - should use assertNull > 12 consider using separate asserts for each '||' component > 8 expected is false - should use assertFalse > 7 expected is true - should use assertTrue > 1 should use assertNotNull > > > Number of Issues by module > > 1907 luni > 1440 swing > 699 math > 611 security > 335 text > 322 awt > 222 sound > 186 nio > 178 jndi > 123 archive > 118 auth > 117 crypto > 116 logging > 91 nio_char > 87 print > 74 regex > 68 concurrent > 45 beans > 41 x-net > 21 sql > 1 rmi > > > > -- Tony Wu China Software Development Lab, IBM
-- Richard Liang China Development Lab, IBM
