小编Jam*_*mes的帖子

测试使用插件和平台通道的Flutter代码

我有一个flutter插件,它使用平台通道做一些本地工作.

如何为需要此插件的应用程序正确编写测试?

单位测试仅适用于纯飞镖功能.我不相信Widget测试能够测试使用平台通道到本机的东西.因此,离开集成测试.

据我所知,集成测试将启动您的主应用程序,您可以围绕您的应用程序控制它并测试.

对于我的情况,我想测试使用插件的代码(使用平台通道进行原生内容).

同样重要的是从平台通道返回的值,因此使用真实平台通道而不是模拟通道调用本机端是很重要的.

那可能吗?我可以告诉集成测试人员打开我的应用程序的虚拟版本,有点像集成的小部件测试人员吗?

dart flutter flutter-test

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

过滤和排序 JavaScript 数组

我有一个这样的数组:

[{
    "number": "4",
    "fileName": "fileXX",
    "rating": {
        "average": 6.4
    }
}, {
    "number": "3",
    "fileName": "fileXX",
    "rating": {
        "average": 5.4
    }
}, {
    "number": "4",
    "fileName": "fileXX",
    "rating": {
        "average": 5.4
    }
}]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下条件创建一个新数组:

  1. 获得array.rating.average每个数字 ( array.number) 的最高评分( )

输出应该是:

[{
    "number": "4",
    "fileName": "fileXX",
    "rating": {
        "average": 6.4
    }
}, {
    "number": "3",
    "fileName": "fileXX",
    "rating": {
        "average": 5.4
    }
}
}]
Run Code Online (Sandbox Code Playgroud)

我刚刚设法按最高评分排序:

array.sort(function(a , b) {
    return a.rating.average - b.rating.average;
});
array.reverse();
Run Code Online (Sandbox Code Playgroud)

但是,现在,我只想要每个副本一个对象array.number …

javascript arrays sorting

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

为什么我不能从函数返回 Vec<&str>?

我正在尝试返回 aVec<&str>但在转换u64&strwhile 循环内部时遇到了问题:

fn latest_ids<'a>(current_id: u64, latest_id: u64) -> Vec<&'a str> {
    let mut ids: Vec<&str> = vec![];
    let mut start = current_id;
    while !(start >= latest_id) {
        start += 1;
        ids.push(start.to_string().as_str());
    }
    ids
}
Run Code Online (Sandbox Code Playgroud)

无法返回引用临时值的值

如果我只返回一个,Vec<String>那么它工作正常。

fn latest_ids<'a>(current_id: u64, latest_id: u64) -> Vec<String> {
    let mut ids: Vec<String> = vec![];
    let mut start = current_id;
    while !(start >= latest_id) {
        start += 1;
        ids.push(start.to_string());
    }
    ids
}
Run Code Online (Sandbox Code Playgroud)

在此之后调用的下一个函数需要一个&str类型参数,所以我应该返回 a …

rust

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

当值包含键和值之间的分隔符或对之间的分隔符时,如何从字符串中提取键和值?

如何有效地将字符串中的键值对提取到HashMapwhen

  • key后面总是跟:然后是值
  • value以 a 结尾,,后跟另一个key(有时是空格然后是key
  • value 可以包含 , :整个
  • value包括任何key
  • 的顺序 keys不固定
  • key名被称为

对于这些键值对

key1:value1, key2:this is, some value2, key3:anothe:r val,ue,
Run Code Online (Sandbox Code Playgroud)

它应该产生这个HashMap

"key1", "value1"
"key2", "this is, some value2"
"key3", "anothe:r val,ue"
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以下代码,但仅将 a,作为分隔符是不好的,因为该值可以始终包含逗号。

"key1:value1, key2:this is, some value2, key3:anothe:r val,ue,"
    .split(",")
    .map(|kv| kv.splitn(2, ":").collect::<Vec<&str>>())
    .filter(|vec| vec.len() == 2)
    .map(|vec| (vec[0].trim().into(), vec[1].trim().into()))
    .collect()
Run Code Online (Sandbox Code Playgroud)

我的想法是提供一个键列表: ["key1", "key2", "key3"] …

rust

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

在不替换子项的情况下添加到Javascript对象

我正在尝试运行for循环来创建新的javascript对象并添加到现有的javascript对象而不替换.

例如,我试图创建它作为输出,而不是每次都覆盖组[i](并且只添加数字[i]数据):

{
    "group1": {
        "number1": "data",
        "number2": "data",
        "number3": "data"
    },
    "group2": {
        "number1": "data",
        "number2": "data"
    }
}
Run Code Online (Sandbox Code Playgroud)

我的循环看起来像这样:

var array = [{
    "groupName": "group1",
    "number": "number1",
    "data": "data"
}, {
    "groupName": "group1",
    "number": "number2",
    "data": "data"
}, {
    "groupName": "group1",
    "number": "number3",
    "data": "data"
}, {
    "groupName": "group2",
    "number": "number1",
    "data": "data"
}, {
    "groupName": "group2",
    "number": "number2",
    "data": "data"
}]

var groupLinks = {};

for(i = 0; i < array.length; i++) {

    groupLinks[array[i].groupName] = { 
        [array[i].number]: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

是否可以使用标准库生成进程而不在 Windows 中显示控制台窗口?

这就是我现在所拥有的:

Command::new("/path/to/application")
  .args("-param")
  .spawn()
Run Code Online (Sandbox Code Playgroud)

看起来 Rust 用于CreateProcessW运行 Windows 进程,它允许创建标志。也许有一个标志可以满足我的需要?

windows rust

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

按字段对结构体向量进行分组

id我想创建一个包含结构中所有匹配字段的向量,处理该新向量,然后重复该过程。基本上将具有匹配字段的结构分组在一起id

有没有办法不使用不稳定功能来做到这一点drain_filter

#![feature(drain_filter)]

#[derive(Debug)]
struct Person {
    id: u32,
}

fn main() {

    let mut people = vec![];

    for p in 0..10 {
        people.push(Person { id: p });
    }

    while !people.is_empty() {
        let first_person_id = people.first().unwrap().id;

        let drained: Vec<Person> = people.drain_filter(|p| p.id == first_person_id).collect();

        println!("{:#?}", drained);
    }

}
Run Code Online (Sandbox Code Playgroud)

操场

rust

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

如何使用 regex crate 匹配整个 INI 部分?

我试图匹配 INI 文件的整个部分,但每个部分下的值都是非标准 INI,现在它直到下一部分才匹配。

这是我到目前为止所拥有的: ^\[GROUP2]([^[]+)

匹配对象:

[GROUP1]
;This is something I don't want
COMMAND(value:test)
COMMAND(value:[type="submit"])
COMMAND(value:test)
COMMAND(value:test)


[GROUP2]
;This is something I don't want
COMMAND(value:test)
COMMAND(value:[type="submit"])
COMMAND(value:test)
COMMAND(value:test)
Run Code Online (Sandbox Code Playgroud)

正则表达式示例

regex rust

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

SELECT然后UPDATE来自RESULTSET的所有行

我想以更新的所有行RESULTSETSELECT一个单一的UPDATE查询.

这是我到目前为止提出的:

SELECT id_queue, status FROM table WHERE status IN (0,2) ORDER BY status, id_queue ASC FOR UPDATE;

UPDATE table SET status = 97 WHERE id_queue= " + id_combined + ";
Run Code Online (Sandbox Code Playgroud)

所以,我想我需要把所有的id_queueIDS,把它们放在一起像1,2,3,4,5,6,7,8id_combined.

知道JAVA中最好的方法吗?

注意:我不只是尝试更新所有状态0和2到97,我想在其他地方使用选择结果集.

java mysql sql

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

标签 统计

rust ×5

arrays ×2

javascript ×2

dart ×1

flutter ×1

flutter-test ×1

java ×1

mysql ×1

regex ×1

sorting ×1

sql ×1

windows ×1