小编Sau*_*mar的帖子

Jasmine Test:如何在AngularJS中模拟控制器内的方法

我正在使用angularjs,我的控制器看起来像这样:

(function (app) {

var myController = function ($scope, myService) {

    var onData = function (response) {

        if (!response.data || response.data.length === 0) {

            app.showErrorMessage('Error');

        } else {
            $scope.myData = response.data;

            drawChart();
        }

        $scope.loading = false;
    };

    var init = function () {
        $scope.loading = true;
        myService.getContBreakdown().then(onData, onError);
    };


    var drawChart = function () {
    // Some Code

    };

    init();
};

  app.controller('myController', ['$scope', 'myService', myController]);
}(angular.module('app')));
Run Code Online (Sandbox Code Playgroud)

我正在编写一个jasmine测试套件来测试从myService接收的数据,并模拟对drawChart()方法的调用.我应该如何编写一个简单的茉莉花测试套件来模拟对drawChart()方法的调用?

unit-testing jasmine angularjs

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

多线程:在锁定语句里面使用BeginInvoke好吗?

在锁构造中使用异步操作是一种很好的编程习惯吗?例如,

lock(objLocker)
{

    myDispatchder.BeginInvoke(
        System.Windows.Threading.DispatcherPriority.Render,
        new Action(() =>
                    {
                      // ..code..

                    }
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading

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

使用c#的Excel:复制范围时排除第一行

以下命令将完整使用的范围复制到剪贴板中:

                mySheet.UsedRange.Copy();
Run Code Online (Sandbox Code Playgroud)

我想要排除第一行并将其余部分复制到剪贴板中.请帮忙

.net c# excel

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

32位和64位的键盘消息

我有一个32位的Windows应用程序(平台目标:x86).它处理Windows消息以识别按下的键盘键.我需要将其平台目标更改为:64位平台的任何CPU,但在将其平台类型更改为任何CPU时,它无法正常工作.当我调试时,我发现rawinput.keyboard.Message的值对于两个配置都有差异,例如,当按下控制键时,对于x86为256,对于任何CPU为29

这里,Message是uint类型的变量,它是从窗口消息的Lparam值填充的.

我怎么能让它通用?

码:

private void ProcessInputCommand(Message message)
    {
        uint dwSize = 0;

        // First call to GetRawInputData sets the value of dwSize,
        // which can then be used to allocate the appropriate amount of memory,
        // storing the pointer in "buffer".
        UnsafeNativeMethods.GetRawInputData(message.LParam,
                         UnsafeNativeMethods.RID_INPUT, IntPtr.Zero,
                         ref dwSize,
                         (uint)Marshal.SizeOf(typeof(RAWINPUTHEADER)));

        IntPtr buffer = Marshal.AllocHGlobal((int)dwSize);
        try
        {
            // Check that buffer points to something, and if so,
            // call GetRawInputData again to fill the allocated memory
            // with information about the input
            if …
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-2010

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