kon*_*tor 2 testing scala mockito
在我的播放应用程序中,我打算模拟一个案例类.我能够这样做,但它创建了一个所有成员变量为null的对象.有没有办法创建案例类的模拟对象,以便对象可以初始化一些成员?
case class User(name: String, address: String)
val mockUser = mock[User]
user.name // null
user.address //null
Run Code Online (Sandbox Code Playgroud)
我如何创建一个mockUser,以便我可以为名称和地址分配一些值?
编辑:
我需要能够模拟对象,因为我希望有一个成员方法的预定义行为.(这个成员方法调用外部服务,我不想在进行单元测试时调用外部服务.)成员方法在另一个成员方法中调用,我想测试.
Nic*_*ick 10
它应该像这样简单:
when(mockUser.name).thenReturn("Bob")
Run Code Online (Sandbox Code Playgroud)
据,直到...为止:
你永远不需要模拟案例类.这就像"嘲笑一个整数".
假.(恕我直言)
val mockUser = User("mockName","mockAddress")有什么问题?
没有,如果你不认为有任何问题
val mockFoo = FooWith20Properties("1", "2", "3",..."20")
Run Code Online (Sandbox Code Playgroud)
您的测试将起作用,但您已经错过了使用模拟框架来减少测试样板的意义.
话虽如此,那些思维案例类应该是最终的和那些不那样的东西之间似乎存在分歧.如果你标记你的最终版,那么嘲笑就不会在没有诉诸诸如Powermock等同样有争议的事情的情况下工作.
你永远不需要模拟案例类.这就像"嘲笑一个整数".
怎么了val mockUser = User("mockName", "mockAddress")?
| 归档时间: |
|
| 查看次数: |
3257 次 |
| 最近记录: |