使用Robolectric测试自定义样式小部件

时间:2016-02-20 17:29:58

标签: android unit-testing android-studio android-gradle robolectric

使用Robolectric 3.0尝试使用值/ styles.xml中的自定义样式进行单元测试,看起来像var express = require('express'); var nodemailer = require("nodemailer"); var xoauth2 = require('xoauth2'); app = express(); var generator = xoauth2.createXOAuth2Generator({ user: {userEmail}, clientId: {clientId}, clientSecret: {clientSecret} refreshToken: {refreshToken}, accessToken: {accessToken} }); var smtpTransport = nodemailer.createTransport({ service: "gmail", auth: { xoauth2: generator } }); var mailOptions = {mailOptions} app.get('/send', function (req, res) { generator.generateToken(function (err, token, access) { console.log(err, token, access); smtpTransport.sendMail(mailOptions, function (error, response) { if (error) { console.log(error); res.sendStatus(404); } else { console.log(response); res.sendStatus(200); } smtpTransport.close(); }); }); }); app.listen(5000); ,并将该样式应用于<style name="EditTextWhite" parent="TextAppearance.AppCompat"> EditText

在测试课程中:

android:theme="@style/EditTextWhite"

当我运行测试时,即使我等了几分钟,运行测试也没完成。这意味着第2行从未执行,因为第1行仍在执行。

因此,我尝试在@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP) @RunWith(RobolectricGradleTestRunner.class) public class RegisterActivityTest { RegisterActivity mRegisterActivity; EditText edtName; @Before public void init() { mRegisterActivity=Robolectric.setupActivity(RegisterActivity.class); // Line 1 edtName = (EditText) mRegisterActivity.findViewById(R.id.edtName); // Line 2 // ... } @Test public void register_Failed_PasswordMismatch() { // ... } @After public void tearDown() { mRegisterActivity = null; } } 中删除android:theme="@style/EditTextWhite"成功进行测试。

如何使用Robolectric 3.0对自定义样式小部件进行单元测试?

0 个答案:

没有答案