我有一個C++類,以下列方式生成唯一的ID。需要幫助谷歌測試一個唯一的Id生成器
class Foo
{
static int seed;
public:
const int Uid;
Foo() : Uid(seed++) {}
}
int Foo::seed = 0;
現在我使用的是谷歌測試使用,以測試這個ID生成器:
Foo foo;
EXPECT_EQ(0, foo.Uid);
Foo foo2;
EXPECT_EQ(1, foo2.Uid);
這個測試傳球,當我調試它但是當我真正運行失敗,給我的的ID 2和3代替。有人可以幫我弄清楚爲什麼? Google測試是否會連續進行其中兩項測試?
非常多 - 這就是爲什麼全局可變狀態不好。 – Puppy