我有password.setError(getResources().getString(R.string.incorrect_data));
如果我设置无效密码 - 显示带有文本"无效数据!"的textView,我需要通过Espresso进行测试,我写道:
onView(withText(R.string.incorrect_data)).check(matches(isDisplayed()));
Run Code Online (Sandbox Code Playgroud)
但这是错的,我有:
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with string from resource id: <2131493034>[incorrect_data] value: Invalid data!
If the target view is not part of the view hierarchy, you may need to use Espresso.onData to load it from one of the following AdapterViews:android.widget.ListView{307b4f3a IFED.VC. ......ID -480,0-0,1022 #7f0a004c app:id/left_drawer}
Run Code Online (Sandbox Code Playgroud)
如果我写: onView(withText("Invalid data!")).check(matches(isDisplayed()));
我有:
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with text: is "Invalid data!"
If the target view is not part of the view …Run Code Online (Sandbox Code Playgroud) 我想在我的项目中添加日志记录(用于控制台),在测试部分中通过spring boot添加.我有我的考试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {TestConfig.class})
public class MyTest {
private final static org.slf4j.Logger LOGGER = LoggerFactory.getLogger(MyTest.class);
@Autowired
public UserDao userDao;
@Test
public void test1() {
LOGGER.info("info test");
LOGGER.debug("debug test");
}
}
Run Code Online (Sandbox Code Playgroud)
和我的测试配置:
@Configuration
@EnableJpaRepositories("example.dao")
@ComponentScan(basePackageClasses = { MyServiceImpl.class})
@EntityScan({"example.model"})
@Import({DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class TestConfig {
}
Run Code Online (Sandbox Code Playgroud)
我在test/resource中创建application.properties文件.Gradle将我的资源文件夹视为测试资源.我的application.properties:
logging.level.= INFO
logging.level.tests.= INFO
logging.level.org.hibernate= INFO
logging.level.org.springframework= INFO
logging.level.org.apache.cxf= INFO
Run Code Online (Sandbox Code Playgroud)
但是当我进行测试时,我有:
16:59:17.593 [main] INFO tests.MyTest - info test
16:59:17.594 [main] DEBUG tests.MyTest - debug test
Run Code Online (Sandbox Code Playgroud)
在控制台,为什么?我只设置'INFO'(logging.level.= INFO),为什么'DEBUG'在控制台?怎么设置好'INFO' …
我有hsqldb(在内存中)的集成测试,现在我需要在我的测试中设置保存点,在BaseTest类中,如何在测试中设置保存点(hsqldb(内存中))?
BaseTest:
@ContextConfiguration(classes = {TestConfig.class})
public class BaseTest {
@Before
public void savePoint() {
//set savepoint - How can do it this?
}
@After
public void rollBackToSavePoint() {
//roll back to savepoint - How can do it this?
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试:
@RunWith(SpringJUnit4ClassRunner.class)
public class MyTest extends BaseTest {
@Test
public void test1() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
TestConfig:
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
@Configuration
@EnableJpaRepositories("database.dao")
@ComponentScan(basePackageClasses = { MyServiceImpl.class})
@EntityScan({"database.model"})
@Import({DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class TestConfig {
...
}
Run Code Online (Sandbox Code Playgroud) 我有使用Jersey REST的.war,它在tomCat中工作。但是我需要在JBoss 6.4.0中运行.war,这会导致异常
java.lang.RuntimeException: java.lang.NoSuchMethodError:
javax.validation.spi.ConfigurationState.getParameterNameProvider()
Run Code Online (Sandbox Code Playgroud)
因为JBoss使用旧版本的javax.validation,并且我需要从JBoss部署中排除javax.validation。
我在.war的WEB-INF中创建jboss-deployment-structure.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="resteasy" />
<subsystem name="jpa"/>
<subsystem name="org.hibernate" />
<subsystem name="org.hibernate.validator" />
</exclude-subsystems>
<exclusions>
<module name="javaee.api" />
<module name="javax.ws.rs.api"/>
<module name="org.jboss.resteasy.resteasy-jaxrs"/>
<module name="javax.validation.api"/>
<module name="org.hibernate"/>
<module name="org.hibernate.validator"/>
</exclusions>
</deployment>
</jboss-deployment-structure>
Run Code Online (Sandbox Code Playgroud)
这帮助我排除了javax.ws.rs,但是如何排除javax.validation?请帮帮我
我做解密和加密RSA,我用Cipher.getInstance("RSA/NONE/PKCS1Padding");它,我补充说Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());和compile 'org.bouncycastle:bcprov-jdk16:1.45'到 gradle-file。所以这个项目在 Intellij Idea 中运行和工作,
但是如果我生成 .jar 文件并运行它,我有:
java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/NONE/PKCS1Padding
at javax.crypto.Cipher.getInstance(Cipher.java:540)
Run Code Online (Sandbox Code Playgroud)
(由 gradle 的 ShadowJar 任务生成的 .jar)。
为什么我在 Intellij Idea 中的项目 - 工作!在 .jar 文件中 - 不起作用?
UNIQUE我的表中需要列.
我的桌子:
CREATE TABLE my_table
(
id int IDENTITY PRIMARY KEY,
name text NOT NULL UNIQUE,
blabla text NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
表'my_table'中的列'name'的类型无效,无法用作索引中的键列.无法创建约束或索引.查看以前的错误.
那么,如何UNIQUE在表中添加列?
java ×4
testing ×2
android ×1
database ×1
deployment ×1
gradle ×1
hsqldb ×1
jar ×1
jboss ×1
jce ×1
jpa ×1
logging ×1
savepoints ×1
spring-boot ×1
sql ×1
sql-server ×1
textview ×1
unique ×1