阅读更多

4顶
1踩

编程语言

原创新闻 NetBeans Mobility Pack 和测试

2008-07-21 12:23 by 副主编 QQbyte 评论(1) 有4828人浏览
Fabrizio Giudici说道,我最近一直在使用NetBeans Mobility Pack,我将简要介绍一下测试。

如果你创建了MIDP项目(Mobile Information Device Profile,移动信息设备描述,是一套Java应用编程接口),你发现不支持JUnit,只能使用一个变异的工具JMUnit。

有些开发者觉得使用JUnit扩展来测试Java ME项目很困难。因为JUnit框架依赖于Java反射,但是Java ME环境没有反射API。但是我反对这种观点,虽然JUnit需要反射,CLDC/MIDP没有反射,但是为什么要把你的测试必须完全在J2ME环境中运行呢?测试代码不是生产环境代码,通过设置,完全能够J2SE中运行测试。

我相信NetBeans很快会增加J2ME项目对JUnit测试的支持。

在之前,你可以用这种方式来测试:

1。比如我们有一个名为MobileMaps的MIDP库项目

2。创建一个标准的J2SE库项目,名为MobileMapsTest

3。打开这个项目的properties并且删除src目录

4。进入这个库面板,在MobileMapsTest依赖库中添加MobileMaps

5。现在在MobileMapsTest创建你的JUnit测试,你能够使用Java 5。

例如,下面是一个小的MIDP类测试

package it.tidalwave.microedition.map.osm;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;

public class OSMTileSourceTest 
  {
    private OSMTileSource fixture;
    
    @Before
    public void setupFixture()
      {
        fixture = new OSMTileSource();
      }
    
    @After
    public void tearDownFixture()
      {
        fixture = null; 
      }
    
    @Test
    public void testCachePrefix()
      {
        assertEquals("OSM/", fixture.getCachePrefix());
      }
    
    @Test
    public void testDefaultZoomLevel()
      {
        assertEquals(9, fixture.getDefaultZoomLevel());
      }
    
    @Test
    public void testDisplayName()
      {
        assertEquals("OpenStreetMap", fixture.getDisplayName());
      }
    
    @Test
    public void testMaxZoomLevel()
      {
        assertEquals(17, fixture.getMaxZoomLevel());
      }
    
    @Test
    public void testMinZoomLevel()
      {
        assertEquals(1, fixture.getMinZoomLevel());
      }
    
    @Test
    public void testGetTileSize()
      {
        assertEquals(256, fixture.getTileSize());
      }
    
    @Test
    public void testMetersPerPixel()
      {
        assertEquals(39135.758482, r(fixture.metersPerPixel(17 -  2)));
        assertEquals(19567.879241, r(fixture.metersPerPixel(17 -  3)));
        assertEquals( 9783.939621, r(fixture.metersPerPixel(17 -  4)));
        assertEquals( 4891.969810, r(fixture.metersPerPixel(17 -  5)));
        assertEquals( 2445.984905, r(fixture.metersPerPixel(17 -  6)));
        assertEquals( 1222.992453, r(fixture.metersPerPixel(17 -  7)));
        assertEquals(  611.496226, r(fixture.metersPerPixel(17 -  8)));
        assertEquals(  305.748113, r(fixture.metersPerPixel(17 -  9)));
        assertEquals(  152.874057, r(fixture.metersPerPixel(17 - 10)));
        assertEquals(   76.437028, r(fixture.metersPerPixel(17 - 11)));
        assertEquals(   38.218514, r(fixture.metersPerPixel(17 - 12)));
        assertEquals(   19.109257, r(fixture.metersPerPixel(17 - 13)));
        assertEquals(    9.554629, r(fixture.metersPerPixel(17 - 14)));
        assertEquals(    4.777314, r(fixture.metersPerPixel(17 - 15)));
        assertEquals(    2.388657, r(fixture.metersPerPixel(17 - 16)));
        assertEquals(    1.194329, r(fixture.metersPerPixel(17 - 17)));
        assertEquals(    0.597164, r(fixture.metersPerPixel(17 - 18)));
      }
    
    private static double r (final double v)
      {
        final int s = 1000000;
        return Math.floor(v * s + 0.5) / s;
      }
  }

4
1
评论 共 1 条 请登录后发表评论
1 楼 wzywjy 2008-07-21 15:39
如果要测试的内容和graphics、font有关,那junit还是无法使用呀

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • VB窗体动态创建控件及控件事件

    VB窗体动态创建较少,今天,试着弄一个,专为解答之用。 首先创建一个空白窗体,调整大小,修改名称,双击窗体进入代码编辑界面: Public Class VB解答专用窗体 Dim 数据列表 As DataGridView Dim 输入框 As TextBox Private Sub VB解答专用窗体_Load(sender As Object, e As EventAr...

  • vb.net 教程 3-13 动态创建控件3

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 在vb6的时候,很方便在设计的时候创建控件数组。 例如两个按钮控件(CommandButton),当修改其中一个控件名称与另外一个控件名称一样时,vb6编辑器会提示: 按下“是”就会创建控件数组了,两个按钮区别在于Index属性不同: 在实际代码中可以看到,事件参数中多了 Inde...

  • VB动态添加控件的问题

    之前曾经写过关于在VB6动态添加可执行代码的文章 http://blog.csdn.net/prsniper/article/details/5811251 也有关于纯代码设计程序的文章 http://blog.csdn.net/prsniper/article/details/6025375 下面我们就谈谈关于动态添加组件的。 动态添加内部控件,正如【纯代码设计】一文中提到,可以用...

  • vb.net中实现picturebox中图片拖动和label控件数组结合,实现label和图片同步

    在前面的文章中,提到过在vb.net中实现picturebox中图片拖动,以及控件数组方面的东西。因为项目需要,我要实现的是,图片上有各个站点的名称,我要实现点击相应的名称,进入站点,查看相应的信息。我采取的是在图片上放一系列的label,然后点击label,进入相应的站点,这样就遇到了一个问题,要实现在拖动图片的同时,所有的label也同步拖动。下面的代码实现了这个功能:Import

  • VB嵌入文件的非常规实现

           在文件中嵌入文件,一般都是通过资源文件来实现的,至于具体的实现步骤,我想就不用我罗嗦了,网上有很多这样的文章,不清楚的朋友可以自己搜索一下。但是有些情况下,用资源文件无法解决问题,就不得不迂回一下,比如要实现所谓的绿色软件(在这里我要说明的是,这篇文章没有涉及任何高级技巧,因此,您略过不看,我也不会感到难过),事实上,大家知道,vb程序的运行需要vb运行库的支持,所以,用vb做绿色软

  • rcp(插件开发)深入理解菜单(Menu)功能及其扩展点

    简介: 菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / 编辑器菜单(ViewPart/Editor Menu)...因此,如何扩展 Eclipse 的菜单功能,并实现特定于我

  • Eclipse插件开发-Menu功能及其扩展点

    菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / 编辑器菜单(ViewPart/Editor ...因此,如何扩展 Eclipse 的菜单功能,并实现特定于我们自己插...

  • RCP、PDE、Eclipse插件、模态、阻塞Eclipse平台、扩展点知识

    工具栏、菜单栏扩展点示例: point="org.eclipse.ui.actionSets"> label="Sample Action Set" visible="true" id="hello.actionSet"> label="Sample &Menu" id="sampleMenu"> name="sampleGroup">...

  • Eclipse开发RCP项目的plugin.xml详解

    在一个eclipse plugin的开发中plugin.xml是必须的,那么我们需要关注哪些点 我们用eclipse中的plug-in manifest edtor打开,我们可以看到在editor区域中看到几个tab页,下面分别介绍: Overview  这里是这个...

  • Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点

    菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / 编辑器菜单(ViewPart/Editor Menu)...因此,如何扩展 Eclipse 的菜单功能,并实现特定于我们自

  • 【原创】vb.net 动态控件 事件添加

    【原创】vb.net 动态控件 事件添加 添加选项后: 为实现动态添加,所需代码如下(共三个函数): Private selectcond1 As String = "" '厂家 Private selectcond2 As String = "" '工程队 Private selectcond3 As String = "" '浮动标志 Private

  • VB中的msgbox的消息提示及其样式

    点击打开链接                                                                                                                                     ...

  • eclipse插件开发菜单(Menu)功能及其扩展点

    eclipse插件开发菜单(Menu)功能及其扩展点 Eclipse 具有丰富的菜单功能,给开发人员提供了很好的用户体验。总体而言,Eclipse 菜单种类包括视图 / 编辑器菜单,主菜单(Main Menu),视图 / 编辑器...

  • RCP编程:MySql 简易UI

    1 Eclipse RCP介绍: 富客户端提供给用户高质量的用户体验,能让界面元素更加丰富,用户更容易操作,使应用程序的设计贴近用户,并且,由于富客户端采用了本地接口的调用,而不同于基于Web浏览器的网上作业,也让富...

  • Eclipse popupMene高级教程:使用Visibility定制弹出菜单

    作者:solonote ...网上有很多介绍的文章,不过很多文章都是一些翻译过来并且作者没有自己实践过的东西,浪费了我很多时间,最后自己通过摸索,终于找出了这个问题的解决办法。  1.文章类型:

  • Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点( FROM IBM)

    Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点 菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / 编辑器菜单(ViewPart/Editor Menu)...

  • (转)一篇很不错的介绍Eclipse插件Menu及其扩展点的文章

     通过 popupMenus 扩展点实现上下文菜单,需要设定 objectContribution 的 objectClass 属性把上下文菜单添加到相应的区域。  例如,如果我们想当用户点击 Eclipse 中的资源时,弹出的上下文菜单包括某个菜单项...

Global site tag (gtag.js) - Google Analytics