我正在使用Mockito为一个返回Account对象的方法编写单元测试。
我正在创建一个新帐户如下:
Private Account testAccount = new Account("name", "type");
代码没有崩溃,但我总是在调试时得到这个异常:
方法抛出了“java.lang.RuntimeException”异常。无法计算android.accounts.Account.toString()testAccount.name
和testAccount.type
总是null
。
有人能告诉我,如果我做错了什么,或者如果有一个适当的方法来模拟它,并获得相同的帐户名称和类型定义在初始化时?
2条答案
按热度按时间1cklez4t1#
一个同事在工作中发现了这一点,我们必须为Account对象做反射,因为它的字段被定义为final,所以你必须这样做:
xzv2uavs2#
我猜你正在运行单元测试。Account类只能在unittest运行时作为存根使用。如果您需要Account类,则必须在Android Emulator(仪器化测试)上运行测试。另一个选择是从Stub中模拟所有需要的方法。