Sign in Go Pro

Android Clean Architecture

Testing the Get Projects use case

This lesson is for PRO members.

Upgrade today to get access to all the PRO lessons.

Unlock this lesson
Autoplay

Up next

Previous

About

In this lesson, we're going to be writing a test for our Get Projects use case class to ensure that it remains functional as intended.

Instructor

Links

Comments

Hi,

When I try to run the tests, I'm getting the following error in console:
Process finished with exit code 1
Class not found: "es.jasalvador.domain.interactor.browse.GetProjectsTest"Empty test suite.

The same is happening downloading the sample code attatched to the lesson.

Maybe is Android Studio configuration?

Thanks!!
Jose Ángel

Hey! I have seen this once or twice myself and I'm pretty sure it is an Android Studio issue. Would you be able to try running the tests from the command line using ./gradlew :domain:test and then trying again from the IDE?

Yes, that fixed the issue. Thanks!!

Facing the same problem. Did anybody find solution so far?

I've just replied to the comment above, would you be up for trying that out also? Thanks!

Just tried ./gradlew :domain:test in command line and ran unit tests in Android Studio right after. Still the same problem. I can run unit tests in 'app' module but not able to run them in 'domain' module.

Running tests for domain module from command line didn't solve a problem for me too.

When you run that from the command line do you get "BUILD SUCCESSFUL" or an error message (if so, what one?). What version of Android Studio are you running?

yup cloning your project produces the same error (empty test suite)
I'll go research on how to run unit tests on domain layer!

Any luck yet? I can't see this from my side, sorry about that! What message do you see when trying to run it locally from the command line?

Facing the same problem, but using ./gradlew :domain:test does not work, please help

When you run that do you get "BUILD SUCCESSFUL" or an error message (if so, what one?). What version of Android Studio are you running?

Hi, Joe. I'm facing the same issue. If I enter this comand "C:\Users\Dmitry\StudioProjects\CasterCleanCourse> gradlew :domain:test" on Windows machine I recieve BUILD SUCCESSFUL message in console. But in Android Studio I have an error - Class not found: "test.java.GetProjectsTest"Empty test suite. Even after clean and rebuild. Android Studio version 3.1.3.

Please advise how to fix.

I have the same problem

Sorry to hear about that! What version of Android studio are you running?

v3.1.3

I found the problem the problem with Gradle file
the top level of the file was :
apply plugin: 'java-library'
I replace it with
apply plugin: 'kotlin'

This solved the problem for me.
Any explanation as to why?

Basically your Domain project was set to use a Java compiler and not Kotlin. Because we have only Synced the project with Gradle files but have not yet built or tried to run this module, this issue never surfaced until now.

Thanks! Worked for me as well.

yes, a @Eslam solution will work. I just implemented that, I think initially we created as a java-library project. so a project cannot find java test cases that is why it is saying empty test suit.

Thank you soooo much guys.
You guys are the best ...

My Domain Module doesn't have a Test folder.......How to create it??? Elsewhere can I write Testcase files??

Fantastic solution @Eslam was having the same issue but that fix resolved it after running ./gradlew :domain:test

Go to Gradle Plugin -> Select :Domain -> Select 'Tasks' -> Select 'verification' -> Double click in 'test'

Now run the test again

>
You need to go PRO to post comments.

Lessons in Android Clean Architecture

Introduction to Clean Architecture
03:40
Joe Birch
GDE
Android and Clean Architecture
03:51
Joe Birch
GDE
Setting up a Multi-Module project
02:24
Joe Birch
GDE
Setting up the Domain layer module
02:24
Joe Birch
GDE
Creating the abstraction for our RxJava Observation Thread
02:02
Joe Birch
GDE
Setting up the Business Data for the Domain Layer
01:47
Joe Birch
GDE
Setting up the data access interface for the Domain Layer
01:49
Joe Birch
GDE
Setting up the Domain Layer Interactor classes
Pro
03:28
Joe Birch
GDE
Implementing the Get Projects use case
Pro
01:49
Joe Birch
GDE
Implementing the get Bookmarked Projects use case
Pro
01:33
Joe Birch
GDE
Implementing the Bookmark Project use case
Pro
01:57
Joe Birch
GDE
Implementing the UnBookmark Project use case (Domain layer 8)
Pro
02:03
Joe Birch
GDE
Testing the Get Projects use case
Pro
02:41
Joe Birch
GDE
Testing the Get Bookmarked Projects use case
Pro
02:04
Joe Birch
GDE
Testing the Bookmark Project use case
Pro
02:10
Joe Birch
GDE
Testing the UnBookmark Project use case
Pro
02:06
Joe Birch
GDE
Setting up the data module
Pro
02:17
Joe Birch
GDE
Creating the data models for the data layer
Pro
02:48
Joe Birch
GDE
Creating the external source interfaces for our data layer
Pro
02:24
Joe Birch
GDE
Creating the data layer store interface
Pro
01:19
Joe Birch
GDE
Creating the data layer cache data store
Pro
01:21
Joe Birch
GDE
Creating the data layer remote data store
Pro
01:39
Joe Birch
GDE
Creating the data store factory class
Pro
01:24
Joe Birch
GDE
Creating the central access point for the data layer
Pro
03:00
Joe Birch
GDE
Setting up the tests for the Data Layer
Pro
00:46
Joe Birch
GDE
Testing the data store factory class
Pro
01:39
Joe Birch
GDE
Testing the project entity mapper
Pro
01:18
Joe Birch
GDE
Testing the projects data repository
Pro
06:02
Joe Birch
GDE
Testing the projects cache data store
Pro
06:30
Joe Birch
GDE
Testing the projects remote data store
Pro
02:17
Joe Birch
GDE
Setting up the remote module
Pro
02:21
Joe Birch
GDE
Creating the data models for the remote layer
Pro
02:06
Joe Birch
GDE
Creating the Retrofit Service for the remote data source
Pro
01:58
Joe Birch
GDE
Creating the Retrofit Service Factory for the remote service interface
Pro
02:52
Joe Birch
GDE
Creating the data model mapper for the Remote Layer
Pro
01:59
Joe Birch
GDE
Creating the Remote Source implementation
Pro
01:55
Joe Birch
GDE
Setting up the Remote layer for testing
Pro
02:13
Joe Birch
GDE
Testing the remote model mapper class
Pro
01:39
Joe Birch
GDE
Testing the remote source implementation
Pro
05:09
Joe Birch
GDE
Setting up the Cache module
Pro
02:45
Joe Birch
GDE
Setting up the Cache layer data models
Pro
02:02
Joe Birch
GDE
Creating the database for the cache layer
Pro
01:34
Joe Birch
GDE
Creating the cached project Data Access Object
Pro
02:42
Joe Birch
GDE
Creating the Configuration Data Access Object
Pro
02:07
Joe Birch
GDE
Creating the cache model mapper
Pro
02:06
Joe Birch
GDE
Creating the Projects Cache data source Implementation
Pro
03:57
Joe Birch
GDE
Setting up the tests for our cache layer
Pro
01:17
Joe Birch
GDE
Testing the cached project model mapper
Pro
01:44
Joe Birch
GDE
Testing the Cached project DAO
Pro
04:33
Joe Birch
GDE
Testing the Configuration DAO
Pro
02:05
Joe Birch
GDE
Testing the projects cache implementation
Pro
05:48
Joe Birch
GDE
Setting up the presentation module
Pro
02:05
Joe Birch
GDE
Creating the data models for the presentation layer
Pro
01:13
Joe Birch
GDE
Creating the data model mapper for the presentation layer
Pro
01:26
Joe Birch
GDE
Creating the presentation state model
Pro
01:39
Joe Birch
GDE
Creating the browse projects view model
Pro
04:25
Joe Birch
GDE
Creating the bookmarked projects view model
Pro
03:05
Joe Birch
GDE
Setting up the presentation module tests
Pro
02:09
Joe Birch
GDE
Testing the view model mapper
Pro
01:17
Joe Birch
GDE
Testing our Browse Projects View Model implementation
Pro
04:36
Joe Birch
GDE
Testing our Browse Bookmarked Projects View Model implementation
Pro
04:34
Joe Birch
GDE
Setting up the UI module
Pro
02:22
Joe Birch
GDE
Creating the Post Execution Thread Implementation
Pro
01:26
Joe Birch
GDE
Setting up the application class
Pro
00:50
Joe Birch
GDE
Setting up the Dependency Injection for the UI module
Pro
02:46
Joe Birch
GDE
Creating the UI modules Project representation
Pro
00:50
Joe Birch
GDE
Creating the the Project model mapper for the UI module
Pro
01:24
Joe Birch
GDE
Setting up the Browse Projects Activity
Pro
01:08
Joe Birch
GDE
Configuring the DI for the project
Pro
04:37
Joe Birch
GDE
Creating the Project item view
Pro
01:51
Joe Birch
GDE
Creating the Browse Projects Adapter
Pro
03:27
Joe Birch
GDE
Creating the browse bookmarked projects adapter
Pro
03:54
Joe Birch
GDE
Creating the browse bookmarked projects activity
Pro
03:18
Joe Birch
GDE
Tying together the browse projects and bookmarked projects activity
Pro
02:30
Joe Birch
GDE
Setting up Unit Tests for the UI module
Pro
00:54
Joe Birch
GDE
Test the project model mapper
Pro
01:10
Joe Birch
GDE
Configuring the Dependency Injection for our User Interface tests
Pro
06:10
Joe Birch
GDE
Writing Espresso tests for the Browse Projects Activity
Pro
03:15
Joe Birch
GDE
Writing Espresso tests for the Bookmarked Projects Activity
Pro
02:34
Joe Birch
GDE
Simplifying the work we have done
Pro
05:14
Joe Birch
GDE