F#单元测试错误:xUnit.net / TestDriven.Net

时间:2017-06-05 01:00:19

标签: exception types f# xunit.net testdriven.net

所以我从Pluralsight得到了以下内容,并且介绍该课程的人显然运行代码顺便运行,但是,当我运行它时,我收到错误消息:

  

“测试失败'T:消息传递':找不到名为'消息'的类型”

     

测试失败'T:找不到名称为

的类型

任何想法(赞赏)?

import cv2
import numpy as np
im_src = cv2.imread('src.jpg')
pts_src = np.array([[141, 131], [480, 159], [493, 630],[64, 601]])
im_dst = cv2.imread('dst.jpg')
pts_dst = np.array([[318, 256],[534, 372],[316, 670],[73, 473]])
h, status = cv2.findHomography(pts_src, pts_dst)
img1 = np.array(im_dst , dtype=np.float)
img2 = np.array(im_src , dtype=np.float)
img1 /= 255.0
# pre-multiplication
a_channel = np.ones(img1.shape, dtype=np.float)/2.0
im_dst = img1*a_channel
im_src = img2*(1-a_channel)
im_out = cv2.warpPerspective(im_src, h, (im_dst.shape[1],im_dst.shape[0]))
cv2.imshow("Warped Image", im_out)
cv2.waitKey(0)

1 个答案:

答案 0 :(得分:2)

我设法通过将测试分成单独的文件和顶级模块来实现它。出于某种原因,除了这个'设置'之外的任何东西不起作用,例如,单独的文件,但在较低级别的模块,或命名空间和模块声明单独......我不确定这是否是特定的说我的目标是.Net 4.7而不是教师使用的或Visual Studio 2017的问题,或其他问题。看起来TestDriven.Net会对命名空间/模块系统产生问题并被它们弄糊涂......

在第一个文件中:

namespace Ploeh.Samples

open System

module Messaging =    
    type Envelope<'a> = {
        Id      : Guid
        Created : DateTimeOffset
        Item    : 'a }

    let envelop getId getTime item = {
        Id = Guid "1CF889F8-201F-44DF-BC86-77227651D3EE"
        Created = DateTimeOffset.MinValue
        Item = item }

在第二个文件中:

module Ploeh.Samples.MessagingTests 

open System
open Messaging
open Xunit

type Foo = { Text : string; Number : int }

[<Fact>]
let ``enevelope returns correct results`` () =
let getId _ = Guid "1CF889F8-201F-44DF-BC86-77227651D3EE"
let getTime _ = DateTimeOffset( 636322011751405346L, 
                                TimeSpan.FromHours(-4.0) )
let item = { Text = "Bar"; Number = 42 }

let actual = Messaging.envelop getId getTime item

Assert.Equal ( Guid "1CF889F8-201F-44DF-BC86-77227651D3EE",
               actual.Id )
Assert.Equal ( DateTimeOffset( 636322011751405346L, 
                               TimeSpan.FromHours(-4.0) ),
               actual.Created )
Assert.Equal ( item, actual.Item )