小编Lui*_*uis的帖子

在Gradle for Android应用程序中运行JUnit测试

我想在我的Android应用程序项目中运行简单,简单的JUnit测试,同时使用Gradle编写Activity测试.花了很长时间配置Gradle并使其工作,但是,无论如何,现在我仍然试图让JUnit测试只是编译.

我检查了这个链接,但是当我运行gradle时出现以下错误:

DummyTest.java:3: error: package junit.
framework does not exist
import junit.framework.Assert;
                      ^
\DummyTest.java:8: error: cannot find symbol
        Assert.assertEquals(5,3);
        ^
  symbol:   variable Assert
  location: class DummyTest
Run Code Online (Sandbox Code Playgroud)

所以,没有找到junit ......

以下是我的完整gradle.build文件:

    buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    compile files('libs/joda-time-2.3.jar')
    compile files('libs/android-support-v4.jar')
    unitTestCompile files("$project.buildDir/classes/release")
    unitTestCompile 'junit:junit:4.8.2'
}

android {
    compileSdkVersion 17
    buildToolsVersion '17.0.0'

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs …
Run Code Online (Sandbox Code Playgroud)

junit android gradle

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

运行 SqlQuery EF 时 FieldNameLookup.GetOrdinal 中的索引超出范围异常

当运行这样的代码时,我们最终会得到一个IndexOutOfRange异常:

result.Data = dbOptima.Database.ExecuteStoredProcedure(
    task,
    StoredProcedureValues.PROC_GET_TASKS).ToList();
Run Code Online (Sandbox Code Playgroud)

, 哪里ExecuteStoredProcedure有以下内容:

public static IEnumerable<TResult> ExecuteStoredProcedure<TResult>(this Database database, IStoredProcedure<TResult> procedure, string procedureName)
{
    var parameters = CreateSqlParametersFromProperties(procedure);
    var format = CreateSPCommand<TResult>(parameters, procedureName);

    return database.SqlQuery<TResult>(format, parameters.Cast<object>).ToArray());
}
Run Code Online (Sandbox Code Playgroud)

我们无法在本地重现该问题,但使用Application Insights经常会注册异常。以下是调用堆栈摘录:

System.IndexOutOfRangeException:
   at System.Data.ProviderBase.FieldNameLookup.GetOrdinal (System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Data.SqlClient.SqlDataReader.GetOrdinal (System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Data.Entity.Core.Query.InternalTrees.ColumnMapFactory.TryGetColumnOrdinalFromReader (EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Data.Entity.Core.Query.InternalTrees.ColumnMapFactory.CreateColumnMapFromReaderAndClrType (EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Data.Entity.Core.Objects.ObjectContext.InternalTranslate (EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteStoreQueryInternal (EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)
   at System.Data.Entity.Core.Objects.ObjectContext+<>c__DisplayClass65`1.<ExecuteStoreQueryReliably>b__64 (EntityFramework, …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc entity-framework azure-application-insights

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

正确显示ajax error.responseText

我想在网页中显示 ajax 请求的错误部分中 .NET 代码中引发的异常消息:

[HttpPost]
[AllowAnonymous]
public virtual ActionResult AuthenticateUser(string somedata)
{
    throw new Exception("Ooops!!");
}
Run Code Online (Sandbox Code Playgroud)

JS代码:

        jQuery(document).ready(function () {
            jQuery.ajax(
                '@Url.Action("AuthenticateUser")',
            {
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                data: {
                    somedata:somedata
                },
                success: function (result) {
                    if (result == 'true') {
                        window.location = '@Url.Content(Request["returnUrl"])';
                    }
                },
                error: function (response) {
                    var responseJson = jQuery.parseJSON(response.responseText);
                    $('#errorMessage').text(responseJson.Message);

                    $('#progress_message').text("");
                },
                type: 'post'
            }
            );
        });
Run Code Online (Sandbox Code Playgroud)

我在“响应”中遇到的错误是 HTML 代码,我想解析它以获取从服务器端抛出的异常消息。所以,我想出的更好的方法是返回 Json 响应,但尽管指定“json”作为数据类型,我仍然在“响应”中收到 HTML 代码,所以......我做错了什么?问题是我从服务器端抛出的“异常”对象吗?

c# ajax asp.net-mvc jquery

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

Git存储库维护和审计工具

我想在Git存储库中进行一些审计维护操作,因为有些开发人员有时候版本文件不应该存在于常规(健康)存储库中:编译后的二进制文件,第三方文档文件......

在过去的几个月里库的规模已大大增加,我想知道为什么:已添加了哪些文件,哪些文件扩展名,即使什么文件大小......这些文件可能已被删除后,元数据仍然存在,影响克隆,拉取和获取命令,并且git元数据目录确实很大.

我知道git log命令提供了这样的功能,但是我想知道是否有其他工具(可能是UI工具?)提供了更多集成,易于比较和对比的有关git存储库使用情况的信息.

那么,总结一下,我有哪些选择来获取Git信息:

  1. 从特定时间添加到特定大小,文件扩展名的存储库的文件以及(如果可能)这样做的文件.

  2. 删除的文件.有可能抹掉它们吗?

git

4
推荐指数
2
解决办法
761
查看次数

如何在Bundle中编写javascript文件?

我想将我的JS脚本包含在Bundle中并同时对它们进行版本化,以避免浏览器缓存(如果这些脚本已被更改).

ASP.NET MVC 5是否有" 本机 "方式来实现这一目标?

我发现了一个名为Cassette的库,它正是这样做的(自动对JS进行版本控制,这是一件好事)但是我想要一些(甚至)更简单的东西,而不需要改变我的脚本配置......

以下不起作用:

 var version = ConfigurationManager.AppSettings["cache"].ToString();
 bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
     "~/Scripts/framework.js" + version,
     "~/Scripts/main.js"));
Run Code Online (Sandbox Code Playgroud)

结果是浏览器没有下载"framework.js"文件(可能找不到).

javascript asp.net asp.net-mvc bundle

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

在同一命令中搜索隐藏和可见目录

我需要获取符合特定条件的隐藏可见目录,并且我想在同一个调用中执行此操作,而不是重复搜索隐藏和可见项目.显然GetChildItem,使用-Attribute-Hidden参数是不可能的.

我无法让-Attribute参数按照我想要的方式工作:

Get-ChildItem -Recurse -Directory -Attributes Hidden+!Hidden -Path $this.searchPath | ForEach-Object {
            if ($_.Name -eq $targetFeatureToSearch)
            {
                $result.Add([IO.Directory]::GetParent($_.FullName).FullName);
            }
        }
Run Code Online (Sandbox Code Playgroud)

如果我使用-Hidden,搜索中只包含隐藏的项目.如果未使用,则搜索中仅包含可见项.

Get-ChildItem -Recurse -Directory -Path $this.searchPath | ForEach-Object {
            if ($_.Name -eq $targetFeatureToSearch)
            {
                $result.Add([IO.Directory]::GetParent($_.FullName).FullName);
            }
        }
Run Code Online (Sandbox Code Playgroud)

出于性能原因,有没有办法将两种搜索结合起来?

powershell

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