有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何轻松地对Blackberry代码进行单元测试?

对于我的大学课程,我们正在开发一个多线程的黑莓应用程序,它允许我们扫描其他使用蓝牙运行我们的应用程序的设备,然后通过Wifi接口通过TCP相互传输文件,实现NAT遍历,同时记录我们的GPS位置。(这是一个RIM赞助的计算机网络课程,以防这还不明显。)

我越来越喜欢Test Driven Development,打算用它来做我的家庭作业。然而,由于非法修饰符,我在测试期间扩展或以其他方式调用的任何Blackberry类都会给我一个ClassFormatError。我认为这个错误是因为带有Blackberry代码的jar必须是专门为其专有JVM编译的

到目前为止,我已经求助于使用代理的Proxy Pattern和实现Mock Objects。然而,这变得非常乏味,因为我继承了许多原生Blackberry类

如果可能的话,我也想避免启动黑莓模拟器。启动它可能需要几分钟的时间,这对于单元测试来说是不切实际和烦人的

有没有简单的方法来单元测试我的黑莓代码


共 (1) 个答案

  1. # 1 楼答案

    当我想对一些Windows Mobile代码进行单元测试时,我在模拟器/模拟器和/或设备本身上运行了它们

    This is not practical since I'm not going to launch a simulator which takes nearly a minute to boot after implementing every test/function.

    我可以启动它,加载软件,然后运行测试。。。让它继续运行。。。在不重新启动的情况下,将新的应用软件重新加载到它上,然后重新运行。也许黑莓手机不允许这样

    此外,我可以一次性运行一整套测试(无需在每个测试/功能之间重新启动)。如果你的习惯是:

    1. 编写一个测试用例
    2. 运行它以确保它失败
    3. 编写实现
    4. 再次运行,以确保这次成功
    5. (对要实现的下一个功能重复上述步骤)

    但也有可能发生。例如,设备驱动程序:调试繁琐,因为系统可能每次都需要启动,因为如果有问题,它们会挂起系统,因为调试器对用户不友好。。。这样的环境互动性较低,因此更强调:

    • 第一次做对(这样你就不用调试了)
    • 同时实现(并编写测试,随后测试)更大(可能是整个)的功能块