我目前正在为Firebase进行服务器端开发。我想通过定位测试令牌来测试我的sendMessage
函数是否正常工作。
我尝试使用testToken
作为值,但任意值实际上都会返回错误:
Error: The registration token is not a valid FCM registration token
我已经四处搜寻,没有找到不使用连接该服务的电话就无法测试我的代码的方法。我只是想念什么吗?
firebase是否提供任何形式的测试令牌来进行服务器端开发?
答案 0 :(得分:1)
如果您使用的是Android,并且没有可测试的设备,则应该能够针对模拟器实例进行测试。但是您肯定需要为FCM提供与某些设备(真实或虚拟)相关联的真实令牌。
答案 1 :(得分:0)
这是一个非常好的问题,但是有些问题还会引起进一步的问题。
您想要一个测试令牌,基本上是模拟的,因此这对于单一测试非常有用。但是对于集成测试,您需要有一个真实的令牌,以便可以测试成功案例和错误案例。因此,如果出现错误,您可以重试或在数据库上写一个条目。
也许对您的测试来说,更好的方法是模拟sendMessage
方法或包含它的类。但是,如果您遵循此路径,请记住,模拟是一把双刃剑,您不应模拟事物依赖,因为它们已经过测试。但是使用那些依赖来模拟包装器组件。偏离路线的测试需要罚款,所以也许嘲笑一件事并不坏。