小编Pau*_*lia的帖子

如何通过Espresso android.widget.TextView setError进行测试?

我有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)

testing android textview android-espresso

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

如何添加登录测试(spring boot)?

我想在我的项目中添加日志记录(用于控制台),在测试部分中通过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' …

java testing logging spring-boot

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

如何在集成测试中设置保存点(hsqldb在内存中)?

我有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)

java sql jpa hsqldb savepoints

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

JBoss-如何在jboss-deployment-structure中排除javax.validation?

我有使用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?请帮帮我

java deployment jboss

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

java.security.NoSuchAlgorithmException:在 jar 文件中找不到任何支持 RSA/NONE/PKCS1Padding 的提供程序

我做解密和加密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 文件中 - 不起作用?

java jar jce intellij-idea gradle

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

如何将UNIQUE列添加到SQL Server数据库中的表?

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在表中添加列?

database sql-server unique

0
推荐指数
1
解决办法
79
查看次数