嗨,我有一个类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) 我有一个域对象模型如下...
@document
Profile
{
**social profile list:**
SocialProfile
{
**Interest list:**
{
Interest
{
id
type
value
}
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
每个简档可以具有许多社交简档,在每个社交简档中,通过特定社交简档(社交简档表示像Facebook这样的社交网络)有许多与简档相关的兴趣,每个兴趣也是具有字段id,类型,值的嵌入文档.
所以我有两个问题..我可以在嵌入式文档中单独索引几个字段吗?我可以在嵌入式文档中创建复合索引吗?
我想我的模型的复杂性是嵌入式文档的深层次,它是2 ..并且该文档的路径是通过数组......
可以通过元数据注释以spring方式完成吗?如果您认为我的模型有误,请告诉我我是mongo的新手谢谢
因为我正在探索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)
}
我ArrayList<Integer>
在我的研究项目中使用.我需要在此列表中保留未知数量的整数.有时我需要更新列表:删除现有记录或添加新记录.作为Integer
一个对象,它只占用了更多的内存int
.是否有任何替代方法来维护将消耗更少内存的列表Integer
?
我正在eclipse中编写一些单元测试,期望抛出异常.
我想知道是否有一个选项可以在测试通过时显示堆栈跟踪,当你第一次编写测试时检查是否真的因为你正在测试的情况而抛出异常会很有用.
谢谢!
如何进行第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中找不到有效的东西,但有些东西看起来可能(在语法层面)和能力. …
我想${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) 我想删除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
我想开发一个简单的互动游戏(如arcanoid).我已经实现了一个菜单和不同的看法,现在我需要制定实际游戏(画飞球,一些移动平台),我不知道如何做到这一点.我需要像画布一样的东西,我可以在每一帧画出我的图形.
我试着用Canvas和Timer 实现它.但它不希望更新图形本身,但只有当用户点击屏幕或类似时.我也看到了com.google.gwt.canvas.client.Canvas,但我无法理解如何在Vaadin应用程序中使用它.
接下来我的问题是:是否有可能以任何方式以高帧率绘制每帧的图形?如果可能的话,我该怎么做?
PS我使用Vaadin 7.3.3.
我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)