小编rob*_*phy的帖子

Angularjs承诺不会在单元测试中解决

我正在使用jasmine对一个angularjs控制器进行单元测试,该控制器将范围上的变量设置为调用返回promise对象的服务方法的结果:

var MyController = function($scope, service) {
    $scope.myVar = service.getStuff();
}
Run Code Online (Sandbox Code Playgroud)

服务内部:

function getStuff() {
    return $http.get( 'api/stuff' ).then( function ( httpResult ) {
        return httpResult.data;
    } );
}
Run Code Online (Sandbox Code Playgroud)

这在我的angularjs应用程序的上下文中工作正常,但在茉莉花单元测试中不起作用.我已确认"then"回调正在单元测试中执行,但$ scope.myVar承诺永远不会被设置为回调的返回值.

我的单元测试:

describe( 'My Controller', function () {
  var scope;
  var serviceMock;
  var controller;
  var httpBackend;

  beforeEach( inject( function ( $rootScope, $controller, $httpBackend, $http ) {
    scope = $rootScope.$new();
    httpBackend = $httpBackend;
    serviceMock = {
      stuffArray: [{
        FirstName: "Robby"
      }],

      getStuff: function () {
        return $http.get( 'api/stuff' ).then( function ( …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing jasmine angularjs

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

SQLAlchemy 的数据类默认不填充 postgres 数据库

我正在dataclasses与 SQLAlchemy 经典映射范例结合使用。当我为和字段dataclass定义组合默认值时,SQLAlchemy 不会填充 和,但它会填充和字段。例如下面的代码:intstrintstrListdatetime

from dataclasses import dataclass, field
from typing import List
from datetime import datetime
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, ARRAY, TIMESTAMP
from sqlalchemy.orm import sessionmaker, mapper

metadata = MetaData()
person_table = \
    Table('people', metadata,
          Column('id', Integer, primary_key=True, autoincrement=True),
          Column('name', String(255)),
          Column('age', Integer),
          Column('hobbies', ARRAY(String)),
          Column('birthday', TIMESTAMP)
          )

@dataclass
class Person:
    id: int = None
    name: str = ''
    age: int = 0 …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy

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