[Kmymoney-devel] Review Request: show another icon on homepage accounts tables if there are transactions after the last online transaction
Marko Käning
mk-lists at email.de
Sun Dec 30 15:58:31 UTC 2012
> On Dec. 30, 2012, 9:19 a.m., Łukasz Maszczyński wrote:
> > kmymoney/mymoney/mymoneyfiletest.cpp, line 2080
> > <http://git.reviewboard.kde.org/r/107619/diff/2/?file=102889#file102889line2080>
> >
> > Is it really required to call testAddAccounts() here? I imagine this is the least effort to setup the ground for your test, but I'd rather extract some part of testAddAccounts() (it tests more than a single scenario, so this should not be a problem) into a new test and use that one.
>
> Marko Käning wrote:
> I used the same approach for the test case as back then for MyMoneyFile::hasMatchingOnlineBalance()!
>
> Other tests also make use of testAddAccounts() which is why I thought it was advisable to do so. (I also thought it would be better to re-use code which is tested in itself.)
>
> Łukasz Maszczyński wrote:
> You're of course right that reusing code is good, and I'm not trying to convince you to create a new helper method _just_ for the purpose of the new test. I also understand why you chose to use testAddAccounts() - that's the fastest way to write the test.
>
> But I don't think this is the best approach. Don't treat this personally - I also think that using testAddAccounts() should be revised in other tests as well, let me explain why:
> testAddAccounts() tests several different behavious - around 5, from a brief look at it. Creating an account and verifying it's been created properly is one behaviour, the one you need in your test. But testAddAccounts() does far more than that - it tests 4 more behavious, and none of these are desirable from the perspective of your test. Yet, they are executed upon testAddAccounts() call.
>
> My proposal is to extract the part of testAddAccounts() which creates the first account into a new test method (say testAddAccountSuccessfully(), or sth like that), and reuse that test in testAddAccounts() and your own. Sorry if I didn't make that point clear previously.
OK, Lukacz, I know where you are coming from.
But I guess, as you said as well, this will require an overhaul of many tests!
> On Dec. 30, 2012, 9:19 a.m., Łukasz Maszczyński wrote:
> > kmymoney/mymoney/mymoneyfiletest.cpp, lines 2105-2108
> > <http://git.reviewboard.kde.org/r/107619/diff/2/?file=102889#file102889line2105>
> >
> > I'd split it into two test functions - you're testing two independent cases after all.
>
> Marko Käning wrote:
> I actually had 3 test cases encapsulated in one test in review 103264 which was said to be fine back then, which is why I followed the same strategy here.
>
> Łukasz Maszczyński wrote:
> In KMM you can see a lot of test methods testing several behaviors at once, that's true. However, in my opinion it's not the best approach possible.
>
> A quote from developerforce.com explains really well why this should be avoided:
> "Your unit tests should only test one aspect of your code at a time, so that it is easy to understand the purpose of each unit test. Properly written, and well-decomposed unit tests are an excellent source of documentation. This may mean that you will need to write multiple unit tests in order to fully exercise one method."
>
Good point.
I'll think about these two issues.
- Marko
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107619/#review24223
-----------------------------------------------------------
On Dec. 29, 2012, 10:05 p.m., Marko Käning wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/107619/
> -----------------------------------------------------------
>
> (Updated Dec. 29, 2012, 10:05 p.m.)
>
>
> Review request for KMymoney.
>
>
> Description
> -------
>
> The homepage accounts tables now show a different icon if there are transactions for an account after the last online transaction - highlighting for the user the necessity to download transactions in order to verify the account status.
>
>
> Diffs
> -----
>
> kmymoney/mymoney/mymoneyfile.h c43977ce7413eee2bc1e0a841fa548314c71e9df
> kmymoney/mymoney/mymoneyfile.cpp 6640356d5e07152f8eb4aecff23d62ee8d853dbd
> kmymoney/mymoney/mymoneyfiletest.h 5551fa94b6b34022c8e91c0301847d5479e6b1f2
> kmymoney/mymoney/mymoneyfiletest.cpp feb9d57ecd7156fc1eea189a905fa797aeae9183
> kmymoney/views/khomeview.cpp c79337176b7265cabe15cad4972bc719e797af7c
>
> Diff: http://git.reviewboard.kde.org/r/107619/diff/
>
>
> Testing
> -------
>
> Built and ran application and test cases successfully.
>
>
> Thanks,
>
> Marko Käning
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20121230/319e896c/attachment.html>
More information about the KMyMoney-devel
mailing list