小编tom*_*ing的帖子

如何模拟Excel VSTO插件中的行?

我试图在Range一个新的行中放置一个模拟(包含值的单元格)Range.但是当我尝试从中访问特定元素时Range,会抛出异常.

我已经尝试了一切,有没有人知道我在这里做错了什么?

例外

消息:测试方法xxx.MockUtilsTest.MockRowsTest引发异常:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:无法将带有[]的索引应用于类型为"Castle.Proxies.RangeProxy"的表达式

测试

[TestMethod]
public void MockRowsTest()
{
    var row1 = MockUtils.MockCells("test_row_1", "test_row_1");
    var row2 = MockUtils.MockCells("test_row_2", "test_row_2");
    var range = MockUtils.MockRows(row1, row2);

    Assert.IsNotNull(range);
    Assert.AreEqual(2, range.Count);
    Assert.IsNotNull(range.Rows);
    Assert.AreEqual(2, range.Rows.Count);
    Assert.AreSame(row1, range.Rows[1].Cells[1]); // exception is thrown here
    Assert.AreSame(row2, range.Rows[2].Cells[1]);
    Assert.AreEqual("test_row_1", range.Rows[1].Cells[1].Value2);
    Assert.AreEqual("test_row_2", range.Rows[2].Cells[1].Value2);
}
Run Code Online (Sandbox Code Playgroud)

MockUtils

public static Range MockCellValue2(Object value)
{
    var cell = new Moq.Mock<Range>();
    cell.Setup(c => c.Value2).Returns(value);

    return cell.Object;
}

public static Range MockCells(params Object[] values)
{
    var cells = new …
Run Code Online (Sandbox Code Playgroud)

c# excel vsto unit-testing moq

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

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

如何在RecyclerView中实现subheaders/sections?

我正在尝试在我的内部实现子标题RecyclerView.作为我的适配器RecyclerView,我使用的PagedListAdapter是全新的Paging LibraryRoom的组合.

来自数据库的数据包含日期.我希望按日分隔/分组项目并在子标题内显示日期.

使用这种组合实现子标题的最佳方法是什么?AFAIK无法实现这种"标准"ViewType方式,因为这将用标头替换第一个数据列表项.在这一刻,我正在努力实现它RecyclerView.ItemDecoration,但我无法使其发挥作用.

谁能指出我正确的方向?

到目前为止我的RecyclerView.ItemDecoration:

public class RecyclerViewHeaderItemDecoration extends RecyclerView.ItemDecoration {

private RecyclerViewHeaderReceiver receiver;

public RecyclerViewHeaderItemDecoration setReceiver(RecyclerViewHeaderReceiver receiver) {
    this.receiver = receiver;
    return this;

}

@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {

    final int childCount = parent.getChildCount();
    for (int i = 0; i < childCount; i++) {
        if (receiver != null) {
            View view = parent.getChildAt(i);
            int position = …
Run Code Online (Sandbox Code Playgroud)

android android-room

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

Firebase Java Admin SDK 线程安全吗?

我想使用 Firebase Admin SDK 来验证 JWT 令牌。我使用 undertow.io 作为我的 HTTP 库。Undertow 创建多个线程来处理连接。

我是否需要创建FirebaseAppFirebaseAuth对象线程区域设置,或者我可以只执行该方法getInstance并让 SDK 处理它吗?

java jwt firebase firebase-admin

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

如果卸载/重用React组件,如何在Promise中取消下一个'then'?

我试图在卸载/重用React组件时取消承诺.现在我正面临一个问题,我可以在下面的小图中更好地解释:

**Promise必须完成(执行AJAX请求并相应地更新redux存储)

创建组件=> Mounted => _onClick()fired => Promise starts =>组件已卸载但已被回收=> Promise finished =>在回收组件中调用setState()并从前一个组件中以错误状态重新呈现.

如何取消/中断/停止下一个'然后'但仍执行Promise?

...
    _onClick() {
        let dispatch = this.props.dispatch;

        if (!this.state.on) {
            API.On(dispatch, this.props.id).then(() => {
                this.setState({
                    on: true,
                })
            }).catch((error) => {
                this.setState({
                    on: false,
                })
            });
        } else {
            API.Off(dispatch, this.props.id).then(() => {
                this.setState({
                    on: false,
                });
            }).catch((error) => {
                this.setState({
                    on: true,
                })
            })
        }
    }
...
Run Code Online (Sandbox Code Playgroud)

javascript promise ecmascript-6 reactjs

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

常量如何在Go中起作用?

在Go中,哪个片段分配的对象较少?或者他们都使用相同数量的分配,如果是这样的话; 为什么?(:

for i := 0; i < 10000000; i++ {
        log.println("hello")
    }
Run Code Online (Sandbox Code Playgroud)

下面的代码只分配1个字符串吗?

const (
    HELLO string = "hello"
)

for i := 0; i < 10000000; i++ {
    log.println(HELLO)
}
Run Code Online (Sandbox Code Playgroud)

go

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

无法将带有[]的索引应用于"Castle.Proxies.RangeProxy"类型的表达式

导致此异常的原因是什么?我试图Moq用来模拟一个Microsoft.Office.Interop.Excel.Range.我想在Range里面筑巢另一个嘲笑.但是当我尝试访问嵌套异常时,会抛出异常.

例外

无法将带有[]的索引应用于"Castle.Proxies.RangeProxy"类型的表达式

[TestMethod]
public void RangeProxyIndexTest()
{
    // creating first range
    var cell1 = new Moq.Mock<Range>();
    cell1.Setup(c => c.Value2).Returns("1");

    var range1Mock = new Moq.Mock<Range>();
    range1Mock.SetupGet(r => r[1, Moq.It.IsAny<Object>()]).Returns(cell1.Object);
    var range1 = range1Mock.Object;

    // creating second range
    var cell2 = new Moq.Mock<Range>();
    cell2.Setup(c => c.Value2).Returns("2");

    var range2Mock = new Moq.Mock<Range>();
    range2Mock.SetupGet(r => r[1, Moq.It.IsAny<Object>()]).Returns(cell2.Object);
    var range2 = range2Mock.Object;

    // merging both ranges into 1
    var range3Mock = new Moq.Mock<Range>();
    range3Mock.SetupGet(r => r[1, Moq.It.IsAny<Object>()]).Returns(range1); …
Run Code Online (Sandbox Code Playgroud)

c# excel unit-testing moq mocking

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

为什么setState返回undefined?

我试图在用户按下Modal元素之外时关闭模态.不知怎的,当Dismiss()被调用时,状态在回调中仍然是相同的.

为什么会这样?

export default class Message extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            id: "",
            show: false
        };
    }

    componentDidMount() {
        this.props.onRef(this);
    }

    Show(id) {
        this.setState({
            id: id,
            show: true
        });
    }

    Dismiss() {
        this.setState({
            id: '',
            show: false
        }, function (state) {
            console.log(state) // undefined
        });
    }

    render() {
        if (this.state.show) {
            return (
                <Modal close={() => this.Dismiss()}>
                    <h1>{this.state.id}</h1>
                </Modal>
            );
        } else {
            return null
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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