小编All*_*lly的帖子

如何测试Web API JSON响应?

我正在尝试为我的Web API设置单元测试.我已经在网上找到了一些我在网上找到的零碎的测试代码.我已经发送了测试请求并收到响应,但我仍然坚持测试响应.

所以这就是我到目前为止所拥有的.这是使用xunit测试包,但我不认为这对我想要实现的目标很重要.

(为代码混搭道歉)

[Fact]
public void CreateOrderTest()
{
    string baseAddress = "http://dummyname/";

    // Server
    HttpConfiguration config = new HttpConfiguration();
    config.Routes.MapHttpRoute("Default", "api/{controller}/{action}/{id}",
        new { id = RouteParameter.Optional });
    config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

    HttpServer server = new HttpServer(config);

    // Client
    HttpMessageInvoker messageInvoker = new HttpMessageInvoker(new InMemoryHttpContentSerializationHandler(server));

    // Order to be created
    MotorInspectionAPI.Controllers.AccountController.AuthenticateRequest requestOrder = new MotorInspectionAPI.Controllers.AccountController.AuthenticateRequest() { 
        Username = "Test",
        Password = "password"
    };

    HttpRequestMessage request = new HttpRequestMessage();
    request.Content = new ObjectContent<MotorInspectionAPI.Controllers.AccountController.AuthenticateRequest>(requestOrder, new JsonMediaTypeFormatter());
    request.RequestUri = new Uri(baseAddress + "api/Account/Authenticate");
    request.Headers.Accept.Add(new …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing xunit xunit.net asp.net-web-api

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

如何检查两个JSON对象是否相等?

我试图发现两个JSON字符串是否相等.

这是我之前尝试过的

var obj1 = Json.Decode("{\"ValueA\":1,\"ValueB\":2}")
var obj2 = Json.Decode("{\"ValueB\":2,\"ValueA\":1}")

// But then there seems to be no way to compare the two objects?
Run Code Online (Sandbox Code Playgroud)

当然,必须存在一种优雅简单的方式来实现我认为的常见任务?

c# json

9
推荐指数
2
解决办法
7003
查看次数

使用instanceof和检查构造函数之间有什么区别?

为什么以下两行会返回不同的结果?

("test" instanceof String) // returns false
("test".constructor == String) // returns true
Run Code Online (Sandbox Code Playgroud)

在镀铬版本28.0.1500.95 m的控制台中测试

对于本机类型,它的工作方式有所不同吗

javascript

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

用getComponent如何传递道具?

我无法弄清楚如何将道具传递给组件.这很重要,因为我不想在componentDidMount方法中获取数据,因为它对搜索引擎是不可见的.

我的代码看起来像这样

const router = 
<Route path="/" component={App}>
<IndexRoute onEnter={redirectToLogin} component={LandingPage} />
<Route path="panel" component={ ControlPanel }>
  ...
</Route>
<Route 
  path="/:handle" 
  onEnter={maybeRedirectToHome}
  getComponent={(location, callback)=> {
      getSiteHandleByName(location.pathname.slice(1))
      .then(function(handle){
        if (handle){
          callback(null, Portfolio)
        } else {
          callback(null, NotFound)
        }
      })
      .catch(callback)
  }}
  getChildRoutes={(location, callback)=> {
    callback(null, portfolioRoutes)
  }} 
/>
</Route>
Run Code Online (Sandbox Code Playgroud)

我正在尝试在用户访问有效网址时提供投资组合React App,mysite.com/thishandleisvalid但我还需要在该getComponent点获取该应用的所有内容并将其作为属性传递.例如,你通常会做这样的事情<Portfolio contentItems={fetchedItems} />.

这样做有可能吗?

react-router

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

当前命名空间/类中的JavaScript子命名空间/类的语法是什么?

我最近一直在使用JavaScript工作,并创建了一些大型函数集合.我发现需要有子功能,我想要从主库中分离但仍然包含在主库中,但还没有找到一个优雅的方法来做到这一点.

以下是我目前使用的几个例子

所以我通常会像这样设置我的主库

// Main library
var animals = function(settings){
    // Main library stuff
}
Run Code Online (Sandbox Code Playgroud)

添加单独封装但仍属于主库的子类/子功能...

这是第一种使用对象文字表示法的方法

animals.prototype.dogs = {
    addDog: function(){
        // Can only access the dogs object
        var test = this;
    },
    removeDog: function(){}
}

// Usage of the whole thing
var animalsInstance = new animals({a: 1, b: 3});
animalsInstance.dogs.addDog();
Run Code Online (Sandbox Code Playgroud)

虽然我真的很喜欢这种语法我永远不会真正使用它,因为没有办法在dog对象里面的任何函数中引用动物实例.所以我想出了这个符号作为替代品

animals.prototype.dogs = function(){
    var parent = this;
    return {
        addDog: function(){
            // The animals instance
            var test = parent;
            // The dogs instance
            var test2 = …
Run Code Online (Sandbox Code Playgroud)

javascript

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

将.sqlite文件转换为MSSQL格式

我正在尝试这样做,到目前为止我发现了一个firefox插件,它将我的.sqlite文件转换为某种.sql创建脚本(需要一些关于这是什么格式的建议,是sqlite,但那有什么区别这与.sqlite文件之间?).

我试过在MySQL和MSSQL中执行它并且它不会运行所以我猜它是某种sqlite语法.

无论如何我可以转换这个.sql文件,所以它是用MSSQL语法放入我的数据库?

sql sqlite

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

如何使用Visual Studio的Node.js工具运行构建任务

每当用户运行项目时,我都试图运行此jar为节点应用程序提供我的JavaScript代码。我尝试编辑.njsproj文件以包括我的自定义生成任务(请参见下文),但我认为我已经认为.njsproj文件不能以与其他Visual Studio项目文件相同的方式工作。

无论如何,我可以使我的任务自动化吗?

找不到任何有用的信息或在Google上有效的信息。只要可以自动化,不要介意使用什么技术来完成这项工作。

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
      <Plovr>plovr\plovr.jar</Plovr>
      <PlovrConfig>plovr\plovr-config-debug.js</PlovrConfig>
  </PropertyGroup>
    <Target Name="BeforeBuild">
      <Message Text="Plovr: $(Plovr)"/>
      <Message Text="PlovrConfig: $(PlovrConfig)"/>
      <Exec Command="&quot;C:\Program Files (x86)\Java\jre7\bin\java.exe&quot; -jar $(Plovr) build $(PlovrConfig)"/>
  </Target>
</Project>
Run Code Online (Sandbox Code Playgroud)

msbuild node.js visual-studio-2012 visual-studio-2013

5
推荐指数
0
解决办法
539
查看次数

在 Windows 上为 localhost 设置 local.host 别名

我正在尝试为我的节点应用程序设置 everyauth。尽管我已经达到了我不知道如何完成的一步。

它要求设置local.host为 的别名localhost,但它引用了一些 linux 文件夹,我使用的是 windows。

这是我所困惑的确切说明。

重要提示 - 某些 OAuth 提供程序不允许回调到 localhost,因此您需要创建一个名为 local.host 的 localhost 别名。确保设置 /etc/hosts,以便 127.0.0.1 也与“local.host”关联。因此,在 /etc/hosts 文件中,其中一行将如下所示:“127.0.0.1 localhost local.host”

(来源在这里)

在 Windows 上如何实现这一点?

node.js everyauth

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

为什么+ +将字符串视为数字

如果执行以下语句

"Test a b " + "c"
// Output
// "Test a b c"
Run Code Online (Sandbox Code Playgroud)

但如果你执行以下操作,它会被"c"视为一个数字.

"Test a b " + + "c"
// Output
// "Test a b NaN"
Run Code Online (Sandbox Code Playgroud)

为什么两个连续的+符号将字符串视为一个数字?

镀铬测试 40.0.2214.111 m

javascript

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

错误:找不到模块'mongodb'

我正在使用带有node.js工具的Visual Studio.我的项目无法启动,它正在抛出错误.

Error: Cannot find module 'mongodb'
Run Code Online (Sandbox Code Playgroud)

这是我之前安装的软件包,我想也许全局软件包目录可能是一个有用的地方,有谁知道它位于何处?

我把它缩小到了我的时候

require('mongoose')
Run Code Online (Sandbox Code Playgroud)

我有mongoose包,我有mongodb安装(正确的我认为,而不是包,但实际的东西,这东西混淆了我的地狱),所以不知道为什么它抱怨.

node.js visual-studio-2012

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

从字符串中拆分字母和数字部分的最佳方法是什么?

说我有一个字符串"AB12",什么是最好的(最简单的)方法来抓住这两个部分"AB""12".

其他有效字符串分割可能是"A1","AA1","A12".这适用于JavaScript电子表格应用程序,因此字符串始终与电子表格范围相关.

javascript

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