小编Mar*_*son的帖子

JS单元测试使用不同的参数多次运行

他们有什么办法可以在一个测试中拥有多个参数,而不是再次复制和粘贴函数吗?

NUnit中用于C#的示例:

[TestCase("0", 1)]
[TestCase("1", 1)]
[TestCase("2", 1)]
public void UnitTestName(string input, int expected)
{
    //Arrange

    //Act

    //Assert
}
Run Code Online (Sandbox Code Playgroud)

我想要的Js:

describe("<Foo />", () => {

    [TestCase("false")]
    [TestCase("true")]
    it("option: enableRemoveControls renders remove controls", (enableRemoveControls) =>  {
        mockFoo.enableRemoveControls = enableRemoveControls;

        //Assert that the option has rendered or not rendered the html
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript mocha.js reactjs enzyme

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

C#Azure上传文件错误指定的Blob或块内容无效

我正在将文件上传到Azure存储。

public class AzureBlob : ICloudBlob
{
    private string _fileName;
    public string FileName
    {
        get => _fileName;
        set
        {
            _fileName = value;
            _cloudBlockBlob = CloudBlobContainer.GetBlockBlobReference(value);
        }
    }
    public CloudBlobContainer CloudBlobContainer { get; set; }
    private CloudBlockBlob _cloudBlockBlob;

    public async Task UploadChunksFromPathAsync(string path, long fileLength)
    {
        const int blockSize = 256 * 1024;
        var bytesToUpload = fileLength;
        long bytesUploaded = 0;
        long startPosition = 0;

        var blockIds = new List<string>();
        var index = 0;

        do
        {
            var bytesToRead = Math.Min(blockSize, bytesToUpload); …
Run Code Online (Sandbox Code Playgroud)

c# upload asynchronous azure async-await

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

c#Azure无法设置blob层

CloudBlockBlob没有任何方法可以将blob层设置为hot/cool/archive.我还检查了其他blob类型,他们也没有允许这种方法的方法.

IE这个方法:https://docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier

他们是否有办法在C#中使用azure存储将代码中的blob层从热变为冷?

c# blob azure azure-storage

4
推荐指数
3
解决办法
1289
查看次数

Asp.net Bundle {version} 是否包括 min.js 和非 min?

我的目录中有一些脚本:

  • jquery-2.1.4.js
  • jquery-2.1.4.min.js
  • jquery-2.1.4.intellisense.js

下面的捆绑包包括什么?它是否包括 jquery-2.1.4.js 和 jquery-2.1.4.min.js?如果是这样,我们为什么要这样做?它不会通过加载不需要的相同脚本来减慢网站速度。

bundles.Add(new ScriptBundle("~/bundles/jquery", "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js").Include(
                                "~/Scripts/jquery-{version}.js"));
Run Code Online (Sandbox Code Playgroud)

asp.net jquery bundle

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

ASP.NET MVC 在部分视图中加载脚本

我的整个网站是一个 Ajax 网站,因此我的所有视图(布局除外)都可以正常加载或通过 ajax 操作链接加载。如果我将 Javascipt 文件与部分视图一起放入,那么所有代码​​都会按预期工作,但脚本会被多次加载(从而使用户下载更多脚本,所有脚本也不会由于某种原因被缓存)。

如果我将脚本文件放入布局中,那么它们只会加载一次,但是如果加载了部分视图,则该部分视图的 JS 代码显然不起作用,因为当部分视图未加载时脚本已经加载呈现。

我的问题是,如何使脚本仅加载一次,但又以某种方式让它们影响部分视图?

索引视图:

<script src="/Scripts/Build/module.min.js"></script>
<script src="/Scripts/Build/upload-index.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

布局:

<li>
    @Ajax.ActionLink("Upload", "Index", "Upload", new {Area = "Music"}, new AjaxOptions {HttpMethod = "GET", UpdateTargetId = "body-wrapper", InsertionMode = InsertionMode.Replace, OnSuccess = "updateHistory", AllowCache = true }, new {@class = "nav-link"})
</li>
Run Code Online (Sandbox Code Playgroud)

如果脚本位于部分视图中,您可以看到脚本被多次加载: 在此输入图像描述

ajax asp.net-mvc partial-views

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

VSCode如何使用es6 mocha单元测试和jsx文件进行调试

我设法打破了我的断点,但我遇到了一些问题.

  • 代码在es5中,无法调试
  • 它只用.js命中断点.我需要它用.jsx文件命中.
  • Mocha.opts似乎根本不起作用.我已经尝试--compilers jsx:babel-register从.js 添加和重命名为.jsx,断点不再受到攻击.

似乎阻止它完全运行的摩卡选项:

--require babel-register
--require test/util/dom.js
--require expect
--compilers jsx:babel-register
Run Code Online (Sandbox Code Playgroud)

Launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "request": "launch",
      "name": "Debug Mocha Test",
      "type": "node",
      "program": "${workspaceRoot}/node_modules/mocha/bin/_mocha",
      "args": [
        "test/**/*.spec.js", //I need to get this working with .jsx files
        "--require", "babel-register"
        ],
      "cwd": "${workspaceRoot}",
      "runtimeExecutable": null,
      "env": { }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

javascript mocha.js reactjs visual-studio-code

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

带参数的 AutoMapper 依赖注入

错误:AutoMapperConfiguration 没有无参数构造函数

我正在使用 nuget 包automapper DI

public class AutoMapperConfiguration : Profile
{
    private readonly ICloudStorage _cloudStorage;

    public AutoMapperConfiguration(ICloudStorage cloudStorage)
    {
        _cloudStorage = cloudStorage;

        // Do mapping here
    }
}

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<ICloudStorage, AzureStorage>();
    services.AddAutoMapper(); // Errors here
}
Run Code Online (Sandbox Code Playgroud)

如何使用带参数的自动映射器 DI?

c# asp.net automapper asp.net-core

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

在构造函数中初始化静态通用列表

这不可能吗?我明白了

T在此上下文中无效.

public static class SQLDynamicData<T>
{
    public static List<T> SQLDataList;

    static SQLDynamicData()
    {
        SQLDataList<T> = new List<T>();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# generics list

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

Chrome开发人员如何找到elements.style?

我的一个div是由JS设置的,它在chrome dev工具中显示如下:

elements.style{
display: block;
}
Run Code Online (Sandbox Code Playgroud)

我需要将其更改为display:none,并且找不到js设置它的代码.有什么办法我能以某种方式找到它的位置吗?

javascript css google-chrome

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

NPM 版本会在每次重大更改时更新主要版本号?

假设我的 1.0.0 npm 包公开公开了一个函数,foo供用户在许多其他函数和特性中使用。

然后,我删除了该foo功能,该功能将对所有使用该功能的用户造成破坏。

NPM 说:

破坏向后兼容性的更改:主要版本,增加第一个数字,例如 2.0.0

我很困惑这到底意味着什么。如果我们破坏了用户的更改,即使只是一个很小的更改(例如删除功能),是否应该始终更新主版本号?

目前,每当我可能破坏公开暴露的功能时,我都会更新主要编号。我看到 npm 软件包的主要版本较小,并认为我这样做是不正确的,因为我正在非常快地更新我自己的软件包主要版本号。

node.js npm semantic-versioning

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

Unity3D C#负Lerp?

我想要调整控制我的动画速度的变量,以便它在混合树中流畅地过渡.

 void Idle()
     {
         _agent.SetDestination(transform.position);
             //Something like the following line
         _speed = Mathf.Lerp(0.0f, _speed, -0.01f);
         _animationController._anim.SetFloat("Speed", _speed);
     }
Run Code Online (Sandbox Code Playgroud)

我读过你不能减负,所以我该怎么做?

c# unity-game-engine lerp

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

Moq测试删除方法

我正在尝试测试我的服务的删除方法,为此我尝试首先将项目添加到存储库.但是,我不认为我的模拟存储库添加方法被调用,因为_mockRepository.Object.GetAll()它始终为null.我试过插入调试器,它也只是跳过它.我究竟做错了什么?

public class CommentServiceTest
{
    private Mock<IRepository<Comment>> _mockRepository;
    private ICommentService _service;
    private ModelStateDictionary _modelState;

    public CommentServiceTest()
    {
        _modelState = new ModelStateDictionary();
        _mockRepository = new Mock<IRepository<Comment>>();
        _service = new CommentService(new ModelStateWrapper(_modelState), _mockRepository.Object);
    }

    [Fact]
    public void Delete()
    {
        var comment = new Comment("BodyText")
        {
            Audio = new Audio(),
            Date = DateTime.Now
        };

        _mockRepository.Object.Add(comment);
        //Nothing in repository collection here still
        var commentToDelete = _mockRepository.Object.GetAll().First();
        _service.Delete(commentToDelete);

        Assert.DoesNotContain(commentToDelete, _mockRepository.Object.GetAll());
    }
}

public class Repository<T, TC> : IRepository<T> where T : class where …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq

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