小编Sim*_*ant的帖子

Junit:如何测试从属性文件中读取属性的方法

嗨,我有一个类ReadProperty,它有一个ReadPropertyFile返回类型的方法,Myclass它从属性文件中读取参数值并返回Myclass对象。我需要帮助来测试ReadPropertyFile方法JUnit,如果可能的话,使用模拟文件和模拟对象。

这是我的代码。

import java.io.FileInputStream;
import java.util.Properties;

public class ReadProperty {

    public Myclass ReadPropertyFile(String fileName) {
        Myclass myclass = null;
        String testparam = null;

        FileInputStream fis = null;



        Properties prop = new Properties();
        try {
            fis = new FileInputStream(fileName);
            try {
                prop.load(fis);
                System.out.println("Load Property file : Success !");
            } catch (Exception ex) {
                System.out.println("Load Property file : Exception : " + ex.toString());
            }
            /*
             * loading the properties
             */ …
Run Code Online (Sandbox Code Playgroud)

java junit

5
推荐指数
1
解决办法
1万
查看次数

嵌入式文档中的mongo db索引

我有一个域对象模型如下...

@document
Profile
{
     **social profile list:**
      SocialProfile
      {     
          **Interest list:**
          {
           Interest
            {
                 id
                 type
                 value
            }
            ...
       }
       ...
}
Run Code Online (Sandbox Code Playgroud)

每个简档可以具有许多社交简档,在每个社交简档中,通过特定社交简档(社交简档表示像Facebook这样的社交网络)有许多与简档相关的兴趣,每个兴趣也是具有字段id,类型,值的嵌入文档.

所以我有两个问题..我可以在嵌入式文档中单独索引几个字段吗?我可以在嵌入式文档中创建复合索引吗?

我想我的模型的复杂性是嵌入式文档的深层次,它是2 ..并且该文档的路径是通过数组......

可以通过元数据注释以spring方式完成吗?如果您认为我的模型有误,请告诉我我是mongo的新手谢谢

arrays indexing spring mongodb mongodb-indexes

5
推荐指数
1
解决办法
7972
查看次数

在ArrayList中查找可被3整除的数字

因为我正在探索ArrayLists,所以我这样做很有趣.我知道如何使用模数运算符来检查它是否可被3整除.但是,已经知道如何将它与arrayList一起使用.

public static void main(String[] args) {

    //Print out only a set of numbers divisible by 3 from an array.

    ArrayList<Integer> division = new ArrayList<Integer>();

    //Add a set of numbers.
    Division.add(10);
    Division.add(3);
    Division.add(34);
    Division.add(36);
    Division.add(435);
    Division.add(457);
    Division.add(223);
    Division.add(45);
    Division.add(4353);
    Division.add(99);


    //How can I fix the logic below?
    if(Division.get() % 3 == 0)

}
Run Code Online (Sandbox Code Playgroud)

}

java iteration arraylist

5
推荐指数
3
解决办法
7000
查看次数

ArrayList <Integer>的内存使用情况

ArrayList<Integer>在我的研究项目中使用.我需要在此列表中保留未知数量的整数.有时我需要更新列表:删除现有记录或添加新记录.作为Integer一个对象,它只占用了更多的内存int.是否有任何替代方法来维护将消耗更少内存的列表Integer

java integer memory-management arraylist

5
推荐指数
2
解决办法
1590
查看次数

JUnit Eclipse - 成功显示堆栈跟踪

我正在eclipse中编写一些单元测试,期望抛出异常.

我想知道是否有一个选项可以在测试通过时显示堆栈跟踪,当你第一次编写测试时检查是否真的因为你正在测试的情况而抛出异常会很有用.

谢谢!

java eclipse junit4

5
推荐指数
1
解决办法
1050
查看次数

mockito使用间谍更好地预期异常测试

如何进行第3次测试以检查异常消息中是否存在cause1?我还列出了前两个有缺点的测试.首先是不检查消息,第二个需要很多样板代码.

public class CheckExceptionsWithMockitoTest {

    @Test(expected = RuntimeException.class)
    public void testExpectedException1() {
        A a = new A();
        a.doSomethingThatThrows();
    }

    @Test
    public void testExpectedException2() {
        A a = new A();
        try {
            a.doSomethingThatThrows();
            fail("no exception thrown");
        } catch (RuntimeException e) {
            assertThat(e.getMessage(), org.hamcrest.Matchers.containsString("cause1"));
        }
    }

    @Test
    public void testExpectedException3() {
        A a = new A();
        A spyA = org.mockito.Mockito.spy(a);
        // valid but doesnt work
        // doThrow(new IllegalArgumentException()).when(spyA).doSomethingThatThrows();
        // invalid but in the spirit of what i want 
        //chekThrow(RuntimeException.class,containsString("cause1")).when(spyA).doSomethingThatThrows();
    }

}
Run Code Online (Sandbox Code Playgroud)

我在Mockito中找不到有效的东西,但有些东西看起来可能(在语法层面)和能力. …

java hamcrest junit4 mockito spy

5
推荐指数
1
解决办法
3万
查看次数

在Project.properties中使用$ {sdk.dir}构建Android Ant

我想${sdk.dir}在project.properties文件中使用该变量,因此我可以将其检入版本控制并在不同的设置机器上使用相同的文件.

我的工作设置如下:

我的project.properties:

target=android-18
android.library.reference.1=..\\..\\..\\sdk\\extras\\android\\support\\v7\\appcompat
android.library.reference.2=..\\..\\..\\sdk\\extras\\google\\google_play_services\\libproject\\google-play-services_lib
Run Code Online (Sandbox Code Playgroud)

我的local.properties:

sdk.dir=C:\\adt-bundle-windows-x86_64-20130917\\sdk
Run Code Online (Sandbox Code Playgroud)

此设置使用命令行中的ant编译.但当我替换我时..\\..\\..\\,${sdk.dir}我得到错误:

project.properties我希望它如何使用:

target=android-18
android.library.reference.1=${sdk.dir}\\extras\\android\\support\\v7\\appcompat
android.library.reference.2=${sdk.dir}\\extras\\google\\google_play_services\\libproject\\google-play-services_lib
Run Code Online (Sandbox Code Playgroud)

结果是:

BUILD FAILED
C:\adt-bundle-windows-x86_64-20130917\sdk\tools\ant\build.xml:460:
Failed to resolve library path:
C:\adt-bundle-windows-x86_64-20130917\sdk\extras\android\support\v7\appcompat
Run Code Online (Sandbox Code Playgroud)

所以变量${sdk.dir}被正确替换但不知怎的,它无法解决.有任何想法吗?

更新编辑

在同一个文件(project.properties)中使用变量进行proGuard设置正常工作:

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
Run Code Online (Sandbox Code Playgroud)

ant android

5
推荐指数
1
解决办法
4738
查看次数

自定义ActionBar选项卡支持的填充

我想删除ActionBar的选项卡之间的填充(空格).

我使用Android支持库V7(Appcompat)在Android 2.2 API 8中使用Fragments和ActionBar作为minSDK和4.4 API 19作为maxSDK.

我尝试了以下但它没有改变任何东西.

我的 styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
    </style>

    <style name="AppTheme" parent="AppBaseTheme">
        <item name="@style/Widget.AppCompat.ActionBar.TabView">@style/TabBarStyle</item>
    </style>

   <style name="TabBarStyle" parent="@style/Widget.AppCompat.ActionBar.TabView">
        <item name="android:paddingLeft">2dp</item>
        <item name="android:paddingRight">2dp</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

我的活动来自 AndroidManifest.xml

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:uiOptions="splitActionBarWhenNarrow" >
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何正确扩展和使用自定义主题.

android android-theme android-actionbar android-support-library

5
推荐指数
1
解决办法
2068
查看次数

如何用Vaadin创建交互式图形?

我想开发一个简单的互动游戏(如arcanoid).我已经实现了一个菜单和不同的看法,现在我需要制定实际游戏(画飞球,一些移动平台),我不知道如何做到这一点.我需要像画布一样的东西,我可以在每一帧画出我的图形.

我试着用Canvas和Timer 实现它.但它不希望更新图形本身,但只有当用户点击屏幕或类似时.我也看到了com.google.gwt.canvas.client.Canvas,但我无法理解如何在Vaadin应用程序中使用它.

接下来我的问题是:是否有可能以任何方式以高帧率绘制每帧的图形?如果可能的话,我该怎么做?

PS我使用Vaadin 7.3.3.

java canvas vaadin

5
推荐指数
1
解决办法
3531
查看次数

在jconsole中没有设置hibernate环境

hibernate-jconsole-1.0.7.jar用来监控hibernate.但是每当我运行jar Jconsole时,都会以exception.这是Jconsole输出,

javax.management.InstanceNotFoundException: Hibernate:application=Statistics is not registered.
    at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:523)
    at org.jboss.mx.server.MBeanServerImpl.getAttributes(MBeanServerImpl.java:562)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source)
    at javax.management.remote.rmi.RMIConnectionImpl.getAttributes(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor279.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$2.run(Unknown Source)
    at sun.rmi.transport.Transport$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

java jboss hibernate jconsole jvisualvm

5
推荐指数
0
解决办法
553
查看次数