小编jne*_*der的帖子

使用非生产活动进行Android Studio测试

在Android Studio之前,测试和Android应用程序涉及一个单独的Android项目,在构建生产时会被忽略.使用Android Studio,生产代码和测试代码存在于同一个项目中,该项目本身只有一组其他内容(清单,资产,资源).

在这种情况下,我如何定义仅用于测试的自定义Activity?对于允许启动任何Activity的Android,必须在清单中声明它.有没有办法解决这个限制?如何指示Android加载仅测试活动而不污染项目的生产方面?

testing android android-activity android-studio

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

缩短本地jekyll服务器的页面生成时间

运行时jekyll --server,将重建整个站点.在足够大的网站上,这需要非常长的时间.即使有--auto旗帜,这应该可以防止整个站点的再生,完成的时间相当长(对我来说是10秒以上,据报道在一些分钟内).编辑和预览单个页面时这很不方便.我希望减少时间.

有没有办法确定为什么Jekyll会像重建页面一样长久?

或者,是否有建议编辑工作流程,允许与杰基尔短暂(呃)反馈循环?

jekyll

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

暂时禁用Lollipop CheckBox上的动画

我有一个包含CheckBoxes的行的ListView.此ListView附加了过滤行为,通过setData()在过滤条件更改时设置新数据(通过简单方法)来回收这些行.发生这种情况时,任何checked状态发生变化的循环行都将更新其CheckBox,而CheckBox又会触发正在绘制或退出CheckBox的Lollipop动画.

这会分散用户注意力的方式很多.如果以动态更新状态,该动画如何暂时禁用?

checkbox android android-5.0-lollipop

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

使用Dagger进行嵌套/递归注射

使用Dagger时,有哪些方法可以在也通过注入实例化的对象上自由/简单地实例化@Inject字段.

例如,下面的代码会将类型为Bar的对象注入给定的Foo对象.它将以显示的两种方式之一执行此操作.但是,每个Bar对象的Sly字段与该行为不匹配.

public class Foo {
  @Inject Bar bar;

  public String getValue() {
    return "Foo's bar value: " + bar.getValue();
  }
}
Run Code Online (Sandbox Code Playgroud)

public class Bar {
  @Inject Sly sly;

  public String getValue() {
    return "Bar's sly value: " + sly.getValue();
  }
}
Run Code Online (Sandbox Code Playgroud)

狡猾

public class Sly {
  public String getValue() {
    return "Hey!";
  }
}
Run Code Online (Sandbox Code Playgroud)

@Module(
    injects = {
        Foo.class,
        Bar.class
    }
)
public class ExampleTestModule {
  @Provides
  Bar provideBar() {
    return new Bar();
  }

  @Provides
  Sly …
Run Code Online (Sandbox Code Playgroud)

java android dagger

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

代码更改后Android Studio回收旧代码?

当我在更改一些代码后运行我的测试时,在重新运行测试时仍然使用代码的先前状态.

Running tests
Test running started
java.lang.NoSuchMethodError: com.example.app.support.ConfiguredWebViewClient.<init>
at com.example.app.support.ConfiguredWebViewClientTest.testOverrideUrlLoading(ConfiguredWebViewClientTest.java:7)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)

Finish
Run Code Online (Sandbox Code Playgroud)

上面的NoSuchMethodError的问题是没有testOverrideUrLoading名称的方法.它被不同的方法所取代.这意味着Android Studio会以某种方式挂在旧类文件上.

没有效果的事情:
  • 使缓存无效并重新启动
  • 清理构建(在Android Studio中)
  • 重建(在Android Studio中)

当我执行运行时./gradlew connectedInstrumentTest,测试成功运行,问题在Android Studio中解决.

我想知道在IDE中工作时如何强制这种行为.

testing android android-studio

6
推荐指数
0
解决办法
509
查看次数

是否可以在QML中将颜色渐变应用于文本?

是否可以在QML中将颜色渐变应用于文本?如果是这样,怎么样?如果没有,那么达到同样效果的可接受手段是什么?

qt gradient styling qml

6
推荐指数
2
解决办法
2303
查看次数

带有 Minimax 的 Tic Tac Toe:当玩家先行时,计算机有时会丢失;否则工作

我正在研究无与伦比的 Tic Tac Toe 的 Minimax 算法。我需要它在计算机先运行和播放器先运行时都能工作。使用当前版本,计算机在先行时永远不会丢失。然而,如果玩家先走,Minimax 似乎永远不会找到最佳移动(总是返回 -1 作为分数)。

如果玩家迈出第一步,是什么导致计算机的 Minimax 分数返回 -1?

例子:

board.addMark( 1, Mark2.PLAYER ); // add a 'PLAYER' mark to an arbitrary location
Minimax.minimax( board, Mark2.COMPUTER ); // will always return -1
Run Code Online (Sandbox Code Playgroud)

这是“Minimax”类:

public class Minimax {
  public static int minimax( Board board, Mark2 currentMark ) {
    int score = (currentMark == Mark2.COMPUTER) ? -1 : 1;
    int[] availableSpaces = board.getAvailableSpaces();

    if ( board.hasWinningSolution() )
      score = (board.getWinningMark() == Mark2.COMPUTER) ? 1 : -1;
    else …
Run Code Online (Sandbox Code Playgroud)

java algorithm tic-tac-toe minimax

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

防止zombie.js仅加载外部资源

我在测试期间使用zombie.js从本地Express服务器加载页面.不幸的是,有一个脚本元素可以调用Google Analytics.我想阻止这个外部脚本(优雅地),如果可能的话,不会阻止加载其他(本地)脚本.

我知道{ runScripts : false }可以拨打电话browser.visit().但是,拒绝加载页面上的任何和所有脚本,而不仅仅是那些生活在其他主机上的脚本.这可能吗?

javascript testing express zombie.js

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

FactoryGirl to_create返回值

根据我的理解,工厂的'to_create'方法的返回值将被忽略.这意味着从工厂的'build'或'initialize_with'部分返回的对象是在测试中调用'create'时最终返回的对象.

就我而言,我使用的是存储库模式的变体.我正在覆盖工厂的'to_create'部分,以包含对存储库'save'方法的调用.此方法不会修改给定对象,但会返回表示原始持久形式的对象.

但是,从'build'块返回的实例是从工厂返回的,而不是在'to_create'块中创建的实例.在我的代码中,这意味着返回对象的"未加载"形式,而不是具有保存操作的更新属性(例如"id")的对象.

有没有办法强制'create'的返回值是'to_create'块的结果还是在该块中生成的某个值?

class Foo
  attr_accessor :id, :name
  ...
end

class FooRepository
  def self.create(name)
    Foo.new(name) # this object is not yet persisted and has no .id
  end

  def self.save(foo)
    # this method must not guarantee that the original Foo instance
    # will always be returned
    ...
    updated_foo # this is a duplicate of the original object
  end

  ...
end

FactoryGirl.define do
  factory :foo, class: FooRepository do
    # create an example Foo
    initialize_with { FooRepository.create(name: "Example") }
    # save the …
Run Code Online (Sandbox Code Playgroud)

factory-bot

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

Calling to next middleware after redirect in Express.js

I am looking to drive behavior through integration tests on an Express.js middleware. I have encountered an interesting circumstance where the behavior of Express behind the application is not predictable (not by me, anyway).

As a simplified example:

var middlewareExample = function(req, res, next){
  if(req.session){
    refreshSession(req.session, function(err, data){
      if(!err){
        res.redirect('/error');
      }
    });
    next();
  }else{
    res.redirect('/authenticate');
  }
};
Run Code Online (Sandbox Code Playgroud)

The issue is the call to next following the redirect, as it lives outside of the inner function and conditional. I am not …

testing middleware node.js express

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

AWS CloudSearch是否允许在同一查询中搜索多个域?

我的团队的应用程序在我们的应用程序数据库中的11个表中有许多数据类型.为了在所有这些类型的特定字段上实现有效的关键字搜索,我们正在探索AWS CloudSearch作为一个选项.我们的目的是为给定的关键字搜索返回所有记录类型的相关结果.

我的理解是每个记录类型(每个表)最终都会在一个单独的CloudSearch域中.如果是这种情况,该服务是否允许跨多个域进行搜索?或者在返回后需要提交和合并多个请求?

如果我在上面的任何一点上弄错了,请纠正我.我一般都在搜索CloudSearch文档以获取有关此内容的提示,但尚未得出任何结论.

附注:

我们的替代方案是非自托管的ElasticSearch服务,它可以解决这个问题.但是,我们的应用程序生态系统目前仅在少数AWS服务中托管.在这方面,CloudSearch与ElasticSearch的优缺点尚不清楚.如果可以通过与上述相关的技术原因作出认可,我将不胜感激.虽然,我尊重这不是一般的专业与利弊讨论的地方.

amazon-web-services amazon-cloudsearch

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

断言一个值完全等于 undefined

当用于qunit测试时,断言某个值具体、完全未定义是很困难的。我正在寻找一个功能,它将:

  1. 进行比较,undefined以便 的值undefined满足断言,但其他任何值(包括null)都将导致测试失败
  2. 提供有关类似于“预期未定义;得到‘foobar’”的失败的有用反馈

注意:使用strictEqualpropEqual、 或deepEqual将处理第一个条件。但是,除非在断言中专门添加为可选参数,否则这些断言函数不会在失败消息中产生有用的信息。

作为直接比较的替代方法,每当我需要做出这一断言时,我的间接方法是equal(typeof exampleValue, 'undefined')

有什么可以qunit解决这个问题吗?

javascript tdd assert undefined qunit

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