Brother, you're working for the wrong company. Adding fake/senseless tests decreases the quality of the software. As a developer you are not allowed to do that.

Testing the data layer against the database is the right thing to do here and you can do it in an integration test and also use JUnit for that. Then you can add the coverage produced by the integration tests to the coverage from the unit tests.

As for the database, if you have a containerized application then it is easy to just use the database container you have anyway. Alternatively you could fire up an in-process in-memory database like H2 and run your integration tests against that.

Ulrich

Am 29.02.24 um 22:43 schrieb Greenberg, Gary:
Yes, I do need to mock CRUD operations without accessing the database.
As I said, code was debugged and tested with the database, but to comply with the company policy I do need to add these "fake" unit tests. I haven't used Mockito for about 10 years and don't want to spend much time to refresh my knowledge. I do hope that NB have some mocking features that will help me.
------------------------------------------------------------------------
*From:* Leo Donahue <donahu...@gmail.com>
*Sent:* Thursday, February 29, 2024 1:29 PM
*Cc:* NetBeans Mailing List <users@netbeans.apache.org>
*Subject:* Re: Using Mockito with Netbeans

On Thu, Feb 29, 2024, 13:33 Greenberg,Gary <ggree...@visa.com.invalid> wrote:

    I already have all DTO and DAO classes written and debugged.
    However, per company policy, unit test coverage must be no less than
    75%.
    Right now, I have it less than 30%, because this is database driven
    project and to comply, I need to create
    tests mocking database operations.


 >>mocking database operations

Do you mean that you need to mock CRUD in a unit test?

If you create mock data in the test, you control the mock data which means you're testing a hard coded value or testing for null and the database is never used.

Is that valuable?

Suppose you unit test pinging the database, as in select something and it fails because the database is down, or today no permissions were granted to your test account or your test user password expired... now what.  The unit test says something is broken but it may not be in your control.

    ------------------------------------------------------------------------
    *From:* Pieter van den Hombergh <pieter.van.den.hombe...@gmail.com
    <mailto:pieter.van.den.hombe...@gmail.com>>
    *Sent:* Thursday, February 29, 2024 7:49 AM
    *Cc:* NetBeans Mailing List <users@netbeans.apache.org
    <mailto:users@netbeans.apache.org>>
    *Subject:* Re: Using Mockito with Netbeans
    generated tests from existing classes sounds like testing after the
    fact.

    Then I would consider generating the DAOs from information
    available, like the database schema or the DTO classes which should
    be of the record type.

    but if you still insist, make the DAO tests inherit from a TestBase
    class that configures the mocked data source.
    If the DAO accepts the data source or a connection as dependency in
    the injection sense, you are good to go and can verify the proper
    use of the dependency by the DAO, which is the purpose of mocking.

    I may find some time tomorrow to come up with a more elaborate answer.


    Kind regards,
    Pieter van den Hombergh.


    met vriendelijke groet
    Pieter van den Hombergh

    Op do 29 feb 2024 01:40 schreef Greenberg, Gary
    <ggree...@visa.com.invalid>:

        I am quite used to generate unit tests for my code using
        Netbeans Tools->Create/Update Tests. JUnit is great.
        However, now I need to create tests for some DAO classes where I
        will need to mock database access.
        I plan to use Mockito for that.  Does Netbeans have any features
        automating Mockito test creation?

        *Gary Greenberg*

        Staff Software Engineer


--
iSYS Software GmbH

Ulrich Mayring | Full Stack Developer
Technology Lab / R&D

Tel: +49 (0) 89 46 23 28-0 | Fax  +49 (0) 89 46 23 28-14
email: ulrich.mayr...@isys.de

Grillparzerstraße 10 | D-81675 München
www.isys.de

Sitz der Gesellschaft: München | HRB 111760
Geschäftsführer: Stefan Fischer und Max Haller

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org
For additional commands, e-mail: users-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to