Skip to content

Check not only a presence of an exception itself but also its message #925

Closed
@php-coder

Description

@php-coder

Here is how we can improve our unit tests:

                then:
-                       thrown IllegalArgumentException
+                       IllegalArgumentException ex = thrown()
+                       ex.message == 'Series id must be non null'

Here are the places that should be updated:

$ git grep -c 'thrown ' src/test/groovy
src/test/groovy/ru/mystamps/web/service/CategoryServiceImplTest.groovy:14
src/test/groovy/ru/mystamps/web/service/CollectionServiceImplTest.groovy:14
src/test/groovy/ru/mystamps/web/service/CountryServiceImplTest.groovy:15
src/test/groovy/ru/mystamps/web/service/CronServiceImplTest.groovy:1
src/test/groovy/ru/mystamps/web/service/ImageServiceImplTest.groovy:11
src/test/groovy/ru/mystamps/web/service/SeriesImportServiceImplTest.groovy:15
src/test/groovy/ru/mystamps/web/service/SeriesSalesServiceImplTest.groovy:6
src/test/groovy/ru/mystamps/web/service/SeriesServiceImplTest.groovy:21
src/test/groovy/ru/mystamps/web/service/SiteServiceImplTest.groovy:2
src/test/groovy/ru/mystamps/web/service/StampsCatalogServiceImplTest.groovy:7
src/test/groovy/ru/mystamps/web/service/SuspiciousActivityServiceImplTest.groovy:4
src/test/groovy/ru/mystamps/web/service/TransactionParticipantServiceImplTest.groovy:4
src/test/groovy/ru/mystamps/web/service/UserServiceImplTest.groovy:8
src/test/groovy/ru/mystamps/web/service/UsersActivationServiceImplTest.groovy:7
src/test/groovy/ru/mystamps/web/util/CatalogUtilsTest.groovy:1
src/test/groovy/ru/mystamps/web/util/PagerTest.groovy:4
src/test/groovy/ru/mystamps/web/util/SlugUtilsTest.groovy:1

Here is a one-liner that could be used to perform initial update of a file:

$ sed -i "s|\([\t]*\)thrown \(.*\)|\1\2 ex = thrown()\\n\1ex.message == 'XXX'|" /path/to/file

Progress:

  • CategoryServiceImplTest.groovy
  • CollectionServiceImplTest.groovy
  • CountryServiceImplTest.groovy
  • CronServiceImplTest.groovy
  • ImageServiceImplTest.groovy
  • SeriesImportServiceImplTest.groovy
  • SeriesSalesServiceImplTest.groovy
  • SeriesServiceImplTest.groovy
  • SiteServiceImplTest.groovy
  • StampsCatalogServiceImplTest.groovy
  • SuspiciousActivityServiceImplTest.groovy
  • TransactionParticipantServiceImplTest.groovy
  • UserServiceImplTest.groovy
  • UsersActivationServiceImplTest.groovy
  • CatalogUtilsTest.groovy
  • PagerTest.groovy
  • SlugUtilsTest.groovy

Metadata

Metadata

Assignees

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions