所以我从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)
答案 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 )