raniejade
09/05/2016, 7:11 AMjohn.shelley
09/05/2016, 9:50 PMdescribe("my class I am testing") {
val repo = mock()
val view = mock()
val presenter = Presenter(repo, view, ImmediateSchedulerProvider())
context("when there is nothing to show") {
val emptyListObservable: Observable<List<Item>> = Observable.just(emptyList())
whenever(repo.getItems()).thenReturn(emptyListObservable)
it("should show the empty view.") {
presenter.getItems()
verify(view).showEmptyView()
verify(view, never()).hideEmptyView()
verify(view, never()).showItems(any())
}
}
context("when we have one item to show") {
val singleItemListObservable: Observable<List<Item>> = Observable.just(listOf(Item("Item 1")))
whenever(repo.getItems()).thenReturn(singleItemListObservable)
it("should show the item.") {
presenter.getItems()
verify(view).hideEmptyView()
verify(view).showItems(any())
verify(view, never()).showEmptyView()
}
}
}
For my first group, the second whenever method is already called somehow, so instead of returning an empty list it gets the single item list which its not expecting.john.shelley
09/05/2016, 9:50 PMit
methods in its grouping.fboldog
09/05/2016, 10:15 PMraniejade
09/06/2016, 5:39 AMbeforeEach
blocks, as context
blocks are eagerly evaluated. This is mentioned here http://jetbrains.github.io/spek/docs/latest/#_basic_structure.simon.vergauwen
09/06/2016, 8:08 AMsimon.vergauwen
09/06/2016, 8:11 AMjava.lang.IllegalArgumentException: Unable to determine method-name from description=it The flags should be set to newTask, noHistory, excludeFromRecents(given You are retrieving the Settings Intent); - ignored
john.shelley
09/06/2016, 6:24 PMorg.powermock.api.mockito.internal.exceptions.StackTraceCleanerProvider$1.isIn(Ljava/lang/StackTraceElement;)Z
java.lang.AbstractMethodError: org.powermock.api.mockito.internal.exceptions.StackTraceCleanerProvider$1.isIn(Ljava/lang/StackTraceElement;)Z
simon.vergauwen
09/06/2016, 6:50 PMsimon.vergauwen
09/06/2016, 6:50 PM@RunWith(PowerMockRunner::class)
@PowerMockRunnerDelegate(JUnitPlatform::class)
simon.vergauwen
09/06/2016, 6:52 PMjohn.shelley
09/06/2016, 6:52 PMsimon.vergauwen
09/06/2016, 6:52 PM@PrepareForTest(Camera::class, CameraParameterHandler::class)
class CameraUtilsUnitTest : Spek({
describe("When retrieving the back camera") {
given("A phone with no camera") {
beforeEach {
PowerMockito.mockStatic(Camera::class.java)
`when`(Camera.getNumberOfCameras()).thenReturn(0)
}
it("Should return null") {
val camera = getBackFacingCamera()
assertThat(camera, `is`(nullValue()))
}
}
}
simon.vergauwen
09/06/2016, 6:53 PMsimon.vergauwen
09/06/2016, 6:53 PMPowerMock.mockStatic
or PowerMock.mock
and then use Mockito-kotlin when
it’s probably not going to work.simon.vergauwen
09/06/2016, 6:54 PMjohn.shelley
09/06/2016, 6:55 PMsimon.vergauwen
09/06/2016, 6:55 PM‘when'
simon.vergauwen
09/06/2016, 6:56 PMjohn.shelley
09/06/2016, 6:56 PMjohn.shelley
09/06/2016, 6:57 PMsimon.vergauwen
09/06/2016, 6:59 PMsimon.vergauwen
09/06/2016, 6:59 PMjohn.shelley
09/06/2016, 7:00 PMdimsuz
09/08/2016, 3:32 PMFailed to start: 173 passed, 64 not started
dimsuz
09/08/2016, 3:32 PMdimsuz
09/08/2016, 3:34 PMfdescribe
in one of the files 🙂iamsteveholmes
09/09/2016, 1:29 AM